payjp 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -1
- data/README.md +28 -0
- data/lib/payjp/tenant.rb +19 -0
- data/lib/payjp/util.rb +1 -0
- data/lib/payjp/version.rb +1 -1
- data/lib/payjp.rb +1 -0
- data/test/payjp/tenant_test.rb +42 -0
- data/test/test_data.rb +29 -0
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e56a8b6072c8f7bf70ae67ddf6e4d2650bae25abf2d0f7ad73292a6d8849ba5e
|
4
|
+
data.tar.gz: 964b24363b6ea92c347e87579c14480952a6f4722bc01113facd4f31a2ee3cd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8e03295fe9396b884ae2998a5f05d99070812425fda873550920dcf8a3d7824077175820ee86f5a050171a6925b6f676d42d0310b46eace7eef921c3589f594
|
7
|
+
data.tar.gz: e457443ea5beca2294f37b524578fcd4ba2a79470c82fe822eb1195527db0dfd30851041f80ae5206880f3b39cfc9a3b1e4c33ecb5ab634f34afa5db26f58dc8
|
data/.github/workflows/test.yml
CHANGED
@@ -8,7 +8,7 @@ jobs:
|
|
8
8
|
runs-on: ubuntu-latest
|
9
9
|
strategy:
|
10
10
|
matrix:
|
11
|
-
ruby-version: [2.0.0, 2.1, 2.2, 2.3.0, jruby-9.2.17.0]
|
11
|
+
ruby-version: [2.0.0, 2.1, 2.2, 2.3.0, 2.7.0, jruby-9.2.17.0]
|
12
12
|
steps:
|
13
13
|
- uses: actions/checkout@v2
|
14
14
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
data/README.md
CHANGED
@@ -41,6 +41,34 @@ gem build payjp.gemspec
|
|
41
41
|
* Ruby 2.0.0 or above.
|
42
42
|
* rest-client
|
43
43
|
|
44
|
+
### Retry on HTTP Status Code 429
|
45
|
+
* See [Rate Limit Guideline](https://pay.jp/docs/guideline-rate-limit#2-%E3%83%AA%E3%83%88%E3%83%A9%E3%82%A4)
|
46
|
+
* When you exceeded rate-limit, you can retry request by setting `max_retry`
|
47
|
+
like `Payjp.max_retry = 3` .
|
48
|
+
* The retry interval base value is `retry_initial_delay`
|
49
|
+
Adjust the value like `Payjp.retry_initial_delay = 4`
|
50
|
+
The smaller is shorter.
|
51
|
+
* The Maximum retry time is `retry_max_delay`.
|
52
|
+
Adjust the value like 'Payjp.retry_max_delay = 32'
|
53
|
+
* The retry interval calcurating is based on "Exponential backoff with equal jitter" algorithm.
|
54
|
+
See https://aws.amazon.com/jp/blogs/architecture/exponential-backoff-and-jitter/
|
55
|
+
|
56
|
+
how to use
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
require 'payjp'
|
60
|
+
Payjp.api_key = 'sk_test_c62fade9d045b54cd76d7036'
|
61
|
+
Payjp.max_retry = 3
|
62
|
+
Payjp.retry_initial_delay = 2
|
63
|
+
Payjp.retry_max_delay = 32
|
64
|
+
|
65
|
+
charge = Payjp::Charge.create(
|
66
|
+
:amount => 3500,
|
67
|
+
:card => 'token_id',
|
68
|
+
:currency => 'jpy',
|
69
|
+
)
|
70
|
+
```
|
71
|
+
|
44
72
|
### Bundler
|
45
73
|
|
46
74
|
If you are installing via bundler, you should be sure to use the https
|
data/lib/payjp/tenant.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Payjp
|
2
|
+
class Tenant < APIResource
|
3
|
+
include Payjp::APIOperations::Create
|
4
|
+
include Payjp::APIOperations::Delete
|
5
|
+
include Payjp::APIOperations::Update
|
6
|
+
include Payjp::APIOperations::List
|
7
|
+
|
8
|
+
def create_application_urls(params = {}, opts = {})
|
9
|
+
response, opts = request(:post, create_application_urls_url, params, opts)
|
10
|
+
response
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def create_application_urls_url
|
16
|
+
url + '/application_urls'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/payjp/util.rb
CHANGED
data/lib/payjp/version.rb
CHANGED
data/lib/payjp.rb
CHANGED
@@ -0,0 +1,42 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Payjp
|
4
|
+
class TenantTest < Test::Unit::TestCase
|
5
|
+
should "tenants should be listable" do
|
6
|
+
@mock.expects(:get).once.returns(test_response(test_tenant_array))
|
7
|
+
c = Payjp::Tenant.all.data
|
8
|
+
assert c.is_a? Array
|
9
|
+
assert c[0].is_a? Payjp::Tenant
|
10
|
+
end
|
11
|
+
|
12
|
+
should "tenants should be deletable" do
|
13
|
+
@mock.expects(:delete).once.returns(test_response(test_tenant))
|
14
|
+
c = Payjp::Tenant.new("test_tenant")
|
15
|
+
c.delete
|
16
|
+
end
|
17
|
+
|
18
|
+
should "tenants should be updateable" do
|
19
|
+
@mock.expects(:get).once.returns(test_response(test_tenant({ :name => "foo" })))
|
20
|
+
@mock.expects(:post).once.returns(test_response(test_tenant({ :name => "bar" })))
|
21
|
+
c = Payjp::Tenant.new("test_tenant").refresh
|
22
|
+
assert_equal "foo", c.name
|
23
|
+
c.name = "bar"
|
24
|
+
c.save
|
25
|
+
assert_equal "bar", c.name
|
26
|
+
end
|
27
|
+
|
28
|
+
should "create should return a new tenant" do
|
29
|
+
@mock.expects(:post).once.returns(test_response(test_tenant(:id => 'test_tenant1')))
|
30
|
+
c = Payjp::Tenant.create(:id => 'test_tenant1')
|
31
|
+
assert_equal "test_tenant1", c.id
|
32
|
+
end
|
33
|
+
|
34
|
+
should "create_application_urls should be callable" do
|
35
|
+
@mock.expects(:get).never
|
36
|
+
@mock.expects(:post).once.returns(test_response({ :object => "application_url", :url => 'https://pay.jp/_/applications/start/c24368137e384aa9xxxxxxxxxxxxxxxx', :expires => 1476676539 }))
|
37
|
+
c = Payjp::Tenant.new('test_tenant')
|
38
|
+
response = c.create_application_urls()
|
39
|
+
assert_equal response[:url], 'https://pay.jp/_/applications/start/c24368137e384aa9xxxxxxxxxxxxxxxx'
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/test/test_data.rb
CHANGED
@@ -250,6 +250,35 @@ module Payjp
|
|
250
250
|
}
|
251
251
|
end
|
252
252
|
|
253
|
+
def test_tenant(params = {})
|
254
|
+
{
|
255
|
+
:created => 1433127983,
|
256
|
+
:name => "test",
|
257
|
+
:id => "test",
|
258
|
+
:livemode => false,
|
259
|
+
:metadata => nil,
|
260
|
+
:object => "tenant",
|
261
|
+
:platform_fee_rate => "10.15",
|
262
|
+
:payjp_fee_included => false,
|
263
|
+
:minimum_transfer_amount => 1000,
|
264
|
+
:bank_account_number => "0001000",
|
265
|
+
:bank_branch_code => "000",
|
266
|
+
:bank_code => "0000",
|
267
|
+
:bank_account_holder_name => "ヤマダ タロウ",
|
268
|
+
:bank_account_type => "普通",
|
269
|
+
:bank_account_status => "pending"
|
270
|
+
}.merge(params)
|
271
|
+
end
|
272
|
+
|
273
|
+
def test_tenant_array
|
274
|
+
{
|
275
|
+
:count => 3,
|
276
|
+
:data => [test_tenant, test_tenant, test_tenant],
|
277
|
+
:object => 'list',
|
278
|
+
:url => '/v1/tenants'
|
279
|
+
}
|
280
|
+
end
|
281
|
+
|
253
282
|
def test_invalid_api_key_error
|
254
283
|
{
|
255
284
|
:error => {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: payjp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PAY.JP
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -139,6 +139,7 @@ files:
|
|
139
139
|
- lib/payjp/payjp_object.rb
|
140
140
|
- lib/payjp/plan.rb
|
141
141
|
- lib/payjp/subscription.rb
|
142
|
+
- lib/payjp/tenant.rb
|
142
143
|
- lib/payjp/token.rb
|
143
144
|
- lib/payjp/transfer.rb
|
144
145
|
- lib/payjp/util.rb
|
@@ -155,6 +156,7 @@ files:
|
|
155
156
|
- test/payjp/payjp_object_test.rb
|
156
157
|
- test/payjp/plan_test.rb
|
157
158
|
- test/payjp/subscription_test.rb
|
159
|
+
- test/payjp/tenant_test.rb
|
158
160
|
- test/payjp/token_test.rb
|
159
161
|
- test/payjp/transfer_test.rb
|
160
162
|
- test/payjp/util_test.rb
|
@@ -165,7 +167,7 @@ licenses:
|
|
165
167
|
- MIT
|
166
168
|
metadata:
|
167
169
|
source_code_uri: https://github.com/payjp/payjp-ruby
|
168
|
-
post_install_message:
|
170
|
+
post_install_message:
|
169
171
|
rdoc_options: []
|
170
172
|
require_paths:
|
171
173
|
- lib
|
@@ -180,8 +182,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
182
|
- !ruby/object:Gem::Version
|
181
183
|
version: '0'
|
182
184
|
requirements: []
|
183
|
-
rubygems_version: 3.1.
|
184
|
-
signing_key:
|
185
|
+
rubygems_version: 3.1.6
|
186
|
+
signing_key:
|
185
187
|
specification_version: 4
|
186
188
|
summary: Ruby bindings for the Payjp API
|
187
189
|
test_files:
|
@@ -196,6 +198,7 @@ test_files:
|
|
196
198
|
- test/payjp/payjp_object_test.rb
|
197
199
|
- test/payjp/plan_test.rb
|
198
200
|
- test/payjp/subscription_test.rb
|
201
|
+
- test/payjp/tenant_test.rb
|
199
202
|
- test/payjp/token_test.rb
|
200
203
|
- test/payjp/transfer_test.rb
|
201
204
|
- test/payjp/util_test.rb
|