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',
)
Payjp variables |
type | required | description |
---|---|---|---|
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
Installation
gem install payjp
If you want to build the gem from source:
gem build payjp.gemspec
Requirements
- Ruby 2.0.0 or above.
- rest-client
Retry on HTTP Status Code 429
- See Rate Limit Guideline
- When you exceeded rate-limit, you can retry request by setting
max_retry
likePayjp.max_retry = 3
. - The retry interval base value is
retry_initial_delay
Adjust the value likePayjp.retry_initial_delay = 4
The 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',
)
Bundler
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'
Development
Test cases can be run with: bundle exec rake test