PAY.JP for Ruby
How to Use
require 'payjp' Payjp.api_key = 'sk_test_c62fade9d045b54cd76d7036' Payjp.open_timeout = 30 # optionally Payjp.read_timeout = 90 # optionally # ex, create charge charge = Payjp::Charge.create( :amount => 3500, :card => 'token_id', :currency => 'jpy', )
|api_key||String||yes||your secret key|
|open_timeout||Integer||no||the second to wait for TCP connection opening (default 30)|
|read_timeout||Integer||no||the second to wait from request to reading response (default 90)|
For detail, See PAY.JP API Docs
gem install payjp
If you want to build the gem from source:
gem build payjp.gemspec
- Ruby 2.0.0 or above.
Retry on HTTP Status Code 429
- See Rate Limit Guideline
- When you exceeded rate-limit, you can retry request by setting
Payjp.max_retry = 3.
- The retry interval base value is
retry_initial_delayAdjust the value like
Payjp.retry_initial_delay = 4The smaller is shorter.
- The Maximum retry time is
retry_max_delay. Adjust the value like 'Payjp.retry_max_delay = 32'
- The retry interval calcurating is based on "Exponential backoff with equal jitter" algorithm. See https://aws.amazon.com/jp/blogs/architecture/exponential-backoff-and-jitter/
how to use
require 'payjp' Payjp.api_key = 'sk_test_c62fade9d045b54cd76d7036' Payjp.max_retry = 3 Payjp.retry_initial_delay = 2 Payjp.retry_max_delay = 32 charge = Payjp::Charge.create( :amount => 3500, :card => 'token_id', :currency => 'jpy', )
If you are installing via bundler, you should be sure to use the https rubygems source in your Gemfile, as any gems fetched over http could potentially be compromised in transit and alter the code of gems fetched securely over https:
source 'https://rubygems.org' gem 'rails' gem 'payjp'
Test cases can be run with:
bundle exec rake test