webpay 2.4.1 → 3.0.0

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.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -2
  3. data/Rakefile +0 -6
  4. data/lib/webpay/account.rb +19 -24
  5. data/lib/webpay/api_resource.rb +5 -0
  6. data/lib/webpay/charge.rb +48 -27
  7. data/lib/webpay/customer.rb +56 -91
  8. data/lib/webpay/data_types.rb +2069 -0
  9. data/lib/webpay/error.rb +68 -0
  10. data/lib/webpay/event.rb +19 -16
  11. data/lib/webpay/recursion.rb +47 -46
  12. data/lib/webpay/shop.rb +37 -68
  13. data/lib/webpay/token.rb +19 -10
  14. data/lib/webpay.rb +114 -77
  15. data/webpay.gemspec +6 -13
  16. metadata +16 -179
  17. data/.rspec +0 -2
  18. data/.travis.yml +0 -12
  19. data/LICENSE.txt +0 -22
  20. data/README.md +0 -52
  21. data/gemfiles/no_doc_gems +0 -14
  22. data/lib/data/ca-certificates.crt +0 -3829
  23. data/lib/webpay/card.rb +0 -13
  24. data/lib/webpay/client.rb +0 -81
  25. data/lib/webpay/deleted_entity.rb +0 -8
  26. data/lib/webpay/entity.rb +0 -71
  27. data/lib/webpay/entity_list.rb +0 -25
  28. data/lib/webpay/fee.rb +0 -13
  29. data/lib/webpay/operations.rb +0 -49
  30. data/lib/webpay/response_converter.rb +0 -57
  31. data/lib/webpay/version.rb +0 -5
  32. data/lib/webpay/webpay_error.rb +0 -126
  33. data/spec/resources/account/delete.txt +0 -15
  34. data/spec/resources/account/retrieve.txt +0 -23
  35. data/spec/resources/charges/all.txt +0 -139
  36. data/spec/resources/charges/capture.txt +0 -49
  37. data/spec/resources/charges/create_with_card.txt +0 -49
  38. data/spec/resources/charges/create_with_customer.txt +0 -49
  39. data/spec/resources/charges/refund.txt +0 -57
  40. data/spec/resources/charges/retrieve.txt +0 -49
  41. data/spec/resources/charges/retrieve_not_captured.txt +0 -42
  42. data/spec/resources/customers/all.txt +0 -76
  43. data/spec/resources/customers/create.txt +0 -31
  44. data/spec/resources/customers/delete.txt +0 -16
  45. data/spec/resources/customers/retrieve.txt +0 -63
  46. data/spec/resources/customers/retrieve_deleted.txt +0 -16
  47. data/spec/resources/customers/update.txt +0 -31
  48. data/spec/resources/errors/bad_request.txt +0 -18
  49. data/spec/resources/errors/broken_json.txt +0 -16
  50. data/spec/resources/errors/card_error.txt +0 -19
  51. data/spec/resources/errors/not_found.txt +0 -18
  52. data/spec/resources/errors/not_found_ja.txt +0 -20
  53. data/spec/resources/errors/unauthorized.txt +0 -16
  54. data/spec/resources/errors/unknown_api_error.txt +0 -17
  55. data/spec/resources/events/all_with_type.txt +0 -164
  56. data/spec/resources/events/retrieve.txt +0 -41
  57. data/spec/resources/recursions/all.txt +0 -61
  58. data/spec/resources/recursions/create.txt +0 -26
  59. data/spec/resources/recursions/delete.txt +0 -16
  60. data/spec/resources/recursions/resume.txt +0 -26
  61. data/spec/resources/recursions/retrieve.txt +0 -26
  62. data/spec/resources/recursions/retrieve_deleted.txt +0 -16
  63. data/spec/resources/recursions/retrieve_suspended.txt +0 -26
  64. data/spec/resources/shops/all.txt +0 -122
  65. data/spec/resources/shops/create.txt +0 -54
  66. data/spec/resources/shops/retrieve.txt +0 -54
  67. data/spec/resources/shops/update.txt +0 -55
  68. data/spec/resources/tokens/create.txt +0 -30
  69. data/spec/resources/tokens/retrieve.txt +0 -30
  70. data/spec/spec_helper.rb +0 -37
  71. data/spec/webpay/account_spec.rb +0 -24
  72. data/spec/webpay/charge_spec.rb +0 -143
  73. data/spec/webpay/customer_spec.rb +0 -109
  74. data/spec/webpay/event_spec.rb +0 -30
  75. data/spec/webpay/recursion_spec.rb +0 -93
  76. data/spec/webpay/shop_spec.rb +0 -121
  77. data/spec/webpay/token_spec.rb +0 -33
  78. data/spec/webpay/webpay_error_spec.rb +0 -64
  79. data/spec/webpay_spec.rb +0 -40
@@ -1,55 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Content-Type: application/json; charset=utf-8
3
- X-Ua-Compatible: IE=Edge
4
- Etag: "dddb6342b15c871b2283b7e468528dd9"
5
- Cache-Control: max-age=0, private, must-revalidate
6
- X-Request-Id: 5c8a469c04d4d4361e646584c52df499
7
- X-Runtime: 0.395131
8
- Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
- Date: Sat, 05 Apr 2014 13:50:05 GMT
10
- Content-Length: 1462
11
- Connection: Keep-Alive
12
-
13
- {
14
- "id": "sh_4hBfnVcoNdRw0Jj",
15
- "object": "shop",
16
- "livemode": false,
17
- "status": "created",
18
- "description": "最新の店子",
19
- "access_key": "shop_1Qy9XO2G56ru4DedFFgjr3vZ",
20
- "created": 1396705255,
21
- "details": {
22
- "url": "https://new.example.com",
23
- "name": "WebPay",
24
- "name_alphabet": "WEBPAY",
25
- "name_kana": "ウェブペイ",
26
- "product": "クレジットカード決済API",
27
- "pricing_url": "https://webpay.jp/pricing",
28
- "commercial_law_url": "https://webpay.jp/company",
29
- "price_min": "30",
30
- "price_max": "50000",
31
- "price_average": "4000",
32
- "zipcode": "1410022",
33
- "address": "東京都品川区東品川2丁目2-28 タチバナビル2F",
34
- "address_kana": "トウキョウトシナガワクヒガシシナガワ2チョウメ2-28 タチバナビル2F",
35
- "applicant_name": "曾川景介",
36
- "applicant_name_kana": "ソガワケイスケ",
37
- "applicant_email": "sowawa@webpay.jp",
38
- "applicant_phone": "03-4589-4747",
39
- "company_name": "ウェブペイ株式会社",
40
- "company_name_kana": "ウェブペイカブシキガイシャ",
41
- "company_phone": "03-4589-4747",
42
- "company_found_date": "20130601",
43
- "company_president_name": "久保渓",
44
- "company_president_name_kana": "クボケイ",
45
- "company_president_birth_date": "19850810"
46
- },
47
- "statement_descriptor": null,
48
- "card_types_supported": [
49
- "Visa",
50
- "American Express",
51
- "MasterCard",
52
- "JCB",
53
- "Diners Club"
54
- ]
55
- }
@@ -1,30 +0,0 @@
1
- HTTP/1.1 201 Created
2
- Content-Type: application/json; charset=utf-8
3
- X-Ua-Compatible: IE=Edge
4
- Etag: "05ec1d26e74ca3aaa0f83f4a592ea069"
5
- Cache-Control: max-age=0, private, must-revalidate
6
- X-Request-Id: 73e33db3646601c24efd77b0b00ba28d
7
- X-Runtime: 0.587596
8
- Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
- Date: Wed, 11 Sep 2013 12:03:55 GMT
10
- Content-Length: 378
11
- Connection: Keep-Alive
12
-
13
- {
14
- "id": "tok_3dw2T20rzekM1Kf",
15
- "object": "token",
16
- "livemode": false,
17
- "created": 1378901035,
18
- "used": false,
19
- "card": {
20
- "object": "card",
21
- "exp_year": 2015,
22
- "exp_month": 12,
23
- "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
24
- "name": "YUUKO SHIONJI",
25
- "country": "JP",
26
- "type": "Visa",
27
- "cvc_check": "pass",
28
- "last4": "4242"
29
- }
30
- }
@@ -1,30 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Content-Type: application/json; charset=utf-8
3
- X-Ua-Compatible: IE=Edge
4
- Etag: "05ec1d26e74ca3aaa0f83f4a592ea069"
5
- Cache-Control: max-age=0, private, must-revalidate
6
- X-Request-Id: 0ad1274f865ae7cce5d8187373fa0fa4
7
- X-Runtime: 0.013401
8
- Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
- Date: Wed, 11 Sep 2013 12:07:10 GMT
10
- Content-Length: 378
11
- Connection: Keep-Alive
12
-
13
- {
14
- "id": "tok_3dw2T20rzekM1Kf",
15
- "object": "token",
16
- "livemode": false,
17
- "created": 1378901035,
18
- "used": false,
19
- "card": {
20
- "object": "card",
21
- "exp_year": 2015,
22
- "exp_month": 12,
23
- "fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
24
- "name": "YUUKO SHIONJI",
25
- "country": "JP",
26
- "type": "Visa",
27
- "cvc_check": "pass",
28
- "last4": "4242"
29
- }
30
- }
data/spec/spec_helper.rb DELETED
@@ -1,37 +0,0 @@
1
- require 'webmock/rspec'
2
- require 'webpay'
3
-
4
- RSpec.configure do |config|
5
- config.treat_symbols_as_metadata_keys_with_true_values = true
6
- config.run_all_when_everything_filtered = true
7
- config.filter_run :focus
8
-
9
- config.order = 'random'
10
-
11
- config.before(:each) do
12
- WebPay.api_key = 'fake_apikey'
13
- WebPay.api_base = 'http://api.example.com'
14
- end
15
- end
16
-
17
- def stub_get_request(path, file)
18
- stub_request(:get, 'http://api.example.com/v1' + path).
19
- with(headers: { 'Authorization' => 'Bearer fake_apikey' }).
20
- to_return(response_file(file))
21
- end
22
-
23
- def stub_post_request(path, file, params = {})
24
- stub_request(:post, 'http://api.example.com/v1' + path).
25
- with(headers: { 'Authorization' => 'Bearer fake_apikey' }, body: params).
26
- to_return(response_file(file))
27
- end
28
-
29
- def stub_delete_request(path, file)
30
- stub_request(:delete, 'http://api.example.com/v1' + path).
31
- with(headers: { 'Authorization' => 'Bearer fake_apikey' }).
32
- to_return(response_file(file))
33
- end
34
-
35
- def response_file(file)
36
- File.new(File.expand_path(File.join(__FILE__, '..', 'resources', file + '.txt')))
37
- end
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
- describe WebPay::Account do
3
- describe '.retrieve' do
4
- before do
5
- stub_get_request('/account', 'account/retrieve')
6
- end
7
-
8
- subject(:account) { described_class.retrieve }
9
- its(:object) { should eq 'account' }
10
- its(:id) { should eq 'acct_2Cmdexb7J2r78rz' }
11
- its(:email) { should eq 'test-me@example.com' }
12
- its(:currencies_supported) { should eq ['jpy'] }
13
- end
14
-
15
- describe '.delete_data' do
16
- before do
17
- stub_delete_request('/account/data', 'account/delete')
18
- end
19
-
20
- it 'should return true' do
21
- expect(described_class.delete_data).to eq true
22
- end
23
- end
24
- end
@@ -1,143 +0,0 @@
1
- require 'spec_helper'
2
- describe WebPay::Charge do
3
- describe '.create' do
4
- subject(:charge) { WebPay::Charge.create(params)}
5
-
6
- describe 'with card' do
7
- let(:params) {{
8
- :amount=>'1000',
9
- :currency=>'jpy',
10
- :card=>
11
- {:number=>'4242-4242-4242-4242',
12
- :exp_month=>'12',
13
- :exp_year=>'2015',
14
- :cvc=>'123',
15
- :name=>'YUUKO SHIONJI'},
16
- :description=>'Test Charge'
17
- }}
18
- before do
19
- stub_post_request('/charges', 'charges/create_with_card', params)
20
- end
21
-
22
- its(:id) { should eq 'ch_5112dw9eYekJc2s' }
23
- its(:description) { should eq "Test Charge" }
24
- it 'card.name' do
25
- expect(charge.card.name).to eq 'YUUKO SHIONJI'
26
- end
27
-
28
- it 'fees' do
29
- expect(charge.fees.length).to eq 1
30
- fee = charge.fees[0]
31
- expect(fee.transaction_type).to eq 'payment'
32
- expect(fee.transaction_fee).to eq 0
33
- expect(fee.rate).to eq 3.25
34
- expect(fee.amount).to eq 33
35
- expect(fee.created).to eq 1397444129
36
- end
37
- end
38
-
39
- describe 'with customer' do
40
- let(:params) {{
41
- :amount=>'1000',
42
- :currency=>'jpy',
43
- :customer => 'cus_5119ShaAgbLyfwS',
44
- :description=>'Test Charge'
45
- }}
46
- before do
47
- stub_post_request('/charges', 'charges/create_with_customer', params)
48
- end
49
-
50
- its(:id) { should eq 'ch_5112KydVn9zId7h' }
51
- it 'card.name' do
52
- expect(charge.card.name).to eq 'KEI KUBO'
53
- end
54
- end
55
- end
56
-
57
- describe '.retrieve' do
58
- let(:id) { 'ch_5112dw9eYekJc2s' }
59
- before do
60
- stub_get_request("/charges/#{id}", 'charges/retrieve')
61
- end
62
-
63
- subject(:charge) { described_class.retrieve(id) }
64
- its(:id) { should eq id }
65
- it 'card.fingerprint' do
66
- expect(charge.card.fingerprint).to eq '215b5b2fe460809b8bb90bae6eeac0e0e0987bd7'
67
- end
68
- end
69
-
70
- describe '.all' do
71
- context 'with craeted[gt]' do
72
- before do
73
- stub_get_request("/charges?count=3&offset=0&created[gt]=1397401200", 'charges/all')
74
- end
75
-
76
- subject(:list) { described_class.all(count: 3, offset: 0, created: { gt: 1397401200 }) }
77
- its(:url) { should eq '/v1/charges' }
78
- its(:count) { should eq 4 }
79
- it 'data.first.description' do
80
- expect(list.data.first.description).to eq 'Test Charge'
81
- end
82
- end
83
-
84
- context 'with customer' do
85
- before do
86
- stub_get_request("/charges?customer=cus_5119ShaAgbLyfwS", 'charges/all')
87
- end
88
-
89
- it 'should respond the list' do
90
- list = described_class.all(customer: 'cus_5119ShaAgbLyfwS')
91
- expect(list.url).to eq '/v1/charges'
92
- end
93
- end
94
- end
95
-
96
- describe '#refund' do
97
- let(:id) { 'ch_5112dw9eYekJc2s' }
98
-
99
- before do
100
- stub_get_request("/charges/#{id}", 'charges/retrieve')
101
- stub_post_request("/charges/#{id}/refund", 'charges/refund', amount: '1000')
102
- end
103
-
104
- it 'should refund the retrieved charge' do
105
- charge = described_class.retrieve(id)
106
- expect(charge.refunded).to eq false
107
- charge.refund(amount: 1000)
108
- expect(charge.refunded).to eq true
109
- expect(charge.amount_refunded).to eq 1000
110
- end
111
-
112
- it 'should add refund fees' do
113
- charge = described_class.retrieve(id)
114
- expect(charge.refunded).to eq false
115
- charge.refund(amount: 1000)
116
-
117
- expect(charge.fees.length).to eq 2
118
- fee = charge.fees[1]
119
- expect(fee.transaction_type).to eq 'refund'
120
- expect(fee.transaction_fee).to eq 0
121
- expect(fee.rate).to eq 3.25
122
- expect(fee.amount).to eq -33
123
- expect(fee.created).to eq 1397444526
124
- end
125
- end
126
-
127
- describe '#capture' do
128
- let(:id) { 'ch_5113hA4L51yj8TF' }
129
- before do
130
- stub_get_request("/charges/#{id}", 'charges/retrieve_not_captured')
131
- stub_post_request("/charges/#{id}/capture", 'charges/capture', amount: '1000')
132
- end
133
-
134
- it 'should capture the retrieved charge' do
135
- charge = described_class.retrieve(id)
136
- expect(charge.captured).to eq false
137
- expect(charge.fees.length).to eq 0
138
- charge.capture(amount: 1000)
139
- expect(charge.captured).to eq true
140
- expect(charge.fees.length).to eq 1
141
- end
142
- end
143
- end
@@ -1,109 +0,0 @@
1
- require 'spec_helper'
2
- describe WebPay::Customer do
3
- describe '.create' do
4
- let(:params) {{
5
- :description => 'Test Customer from Java',
6
- :email => 'customer@example.com',
7
- :card=>
8
- {:number=>'4242-4242-4242-4242',
9
- :exp_month=>'12',
10
- :exp_year=>'2015',
11
- :cvc=>'123',
12
- :name=>'YUUKO SHIONJI'}
13
- }}
14
- before do
15
- stub_post_request('/customers', 'customers/create', params)
16
- end
17
- subject(:customer) { WebPay::Customer.create(params)}
18
-
19
- its(:id) { should eq 'cus_39o4Fv82E1et5Xb' }
20
- its(:description) { should eq "Test Customer from Java" }
21
- it 'active_card.name' do
22
- expect(customer.active_card.name).to eq 'YUUKO SHIONJI'
23
- end
24
- end
25
-
26
- describe '.retrieve' do
27
- let(:id) { 'cus_39o4Fv82E1et5Xb' }
28
- before do
29
- stub_get_request("/customers/#{id}", 'customers/retrieve')
30
- end
31
-
32
- subject(:customer) { described_class.retrieve(id) }
33
- its(:id) { should eq id }
34
- it 'active_card.fingerprint' do
35
- expect(customer.active_card.fingerprint).to eq '215b5b2fe460809b8bb90bae6eeac0e0e0987bd7'
36
- end
37
- it 'recursions.first.id' do
38
- expect(customer.recursions.first.id).to eq 'rec_7pF9dTfm11u5cXL'
39
- end
40
- end
41
-
42
- describe '.retrieve deleted instance' do
43
- let(:id) { 'cus_7GafGMbML8R28Io' }
44
- before do
45
- stub_get_request("/customers/#{id}", 'customers/retrieve_deleted')
46
- end
47
-
48
- subject(:customer) { described_class.retrieve(id) }
49
- its(:id) { should eq id }
50
- its(:deleted) { should eq true }
51
- it { should be_deleted }
52
- end
53
-
54
- describe '.all' do
55
- before do
56
- stub_get_request("/customers?count=3&offset=0&created[gt]=1378000000", 'customers/all')
57
- end
58
-
59
- subject(:list) { described_class.all(count: 3, offset: 0, created: { gt: 1378000000 }) }
60
- its(:url) { should eq '/v1/customers' }
61
- its(:count) { should eq 4 }
62
- it 'data.first.description' do
63
- expect(list.data.first.description).to eq 'Test Customer from Java'
64
- end
65
- end
66
-
67
- describe '#save' do
68
- let(:id) { 'cus_39o4Fv82E1et5Xb' }
69
- let(:email) { 'newmail@example.com' }
70
- let(:description) { 'New description' }
71
- let(:card_info) { {:number=>'4242-4242-4242-4242',
72
- :exp_month=>'12',
73
- :exp_year=>'2016',
74
- :cvc=>'123',
75
- :name=>'YUUKO SHIONJI'} }
76
- before do
77
- stub_get_request("/customers/#{id}", 'customers/retrieve')
78
- stub_post_request("/customers/#{id}", 'customers/update',
79
- email: email,
80
- description: description,
81
- card: card_info)
82
- end
83
-
84
- it 'should update information of the retrieved customer' do
85
- customer = described_class.retrieve(id)
86
- customer.email = email
87
- customer.description = description
88
- customer.card = card_info
89
- customer.save
90
-
91
- expect(customer.email).to eq email
92
- expect(customer.description).to eq description
93
- expect(customer.active_card.exp_year).to eq 2016
94
- end
95
- end
96
-
97
- describe '#delete' do
98
- let(:id) { 'cus_39o4Fv82E1et5Xb' }
99
- before do
100
- stub_get_request("/customers/#{id}", 'customers/retrieve')
101
- stub_delete_request("/customers/#{id}", 'customers/delete')
102
- end
103
-
104
- it 'should delete the retrieved customer' do
105
- customer = described_class.retrieve(id)
106
- expect(customer.delete).to eq true
107
- end
108
- end
109
- end
@@ -1,30 +0,0 @@
1
- require 'spec_helper'
2
- describe WebPay::Event do
3
- describe '.retrieve' do
4
- let(:id) { 'evt_39o9oUevb5NCeM1' }
5
- before do
6
- stub_get_request("/events/#{id}", 'events/retrieve')
7
- end
8
-
9
- subject(:event) { described_class.retrieve(id) }
10
- its(:id) { should eq id }
11
- its(:type) { should eq 'customer.created' }
12
- it 'data.object' do
13
- expect(event.data.object).to be_instance_of(WebPay::Customer)
14
- expect(event.data.object.email).to eq 'customer@example.com'
15
- end
16
- end
17
-
18
- describe '.all' do
19
- before do
20
- stub_get_request("/events?type=*.created", 'events/all_with_type')
21
- end
22
-
23
- subject(:list) { described_class.all(type: '*.created') }
24
- its(:url) { should eq '/v1/events' }
25
- its(:count) { should eq 5 }
26
- it 'data.first.type' do
27
- expect(list.data.first.type).to eq 'customer.created'
28
- end
29
- end
30
- end
@@ -1,93 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require 'spec_helper'
3
- describe WebPay::Recursion do
4
- describe '.create' do
5
- let(:params) {{
6
- :amount => '400',
7
- :currency => 'jpy',
8
- :customer => 'cus_5lF6YD7mq3dWdzB',
9
- :period => 'month',
10
- :description => 'WebPayマガジン購読料',
11
- }}
12
- before do
13
- stub_post_request('/recursions', 'recursions/create', params)
14
- end
15
- subject(:recursion) { WebPay::Recursion.create(params)}
16
-
17
- its(:id) { should eq 'rec_5lFaeX56W7bkdKR' }
18
- its(:object) { should eq 'recursion' }
19
- its(:livemode) { should eq false }
20
- its(:description) { should eq 'WebPayマガジン購読料' }
21
- its(:attempted) { should eq nil }
22
- its(:status) { should eq 'active' }
23
- end
24
-
25
- describe '.retrieve' do
26
- let(:id) { 'rec_5lFaeX56W7bkdKR' }
27
- before do
28
- stub_get_request("/recursions/#{id}", 'recursions/retrieve')
29
- end
30
-
31
- subject(:recursion) { described_class.retrieve(id) }
32
- its(:id) { should eq id }
33
- its(:object) { should eq 'recursion' }
34
- its(:livemode) { should eq false }
35
- its(:description) { should eq 'WebPayマガジン購読料' }
36
- its(:attempted) { should eq 1397803007 }
37
- its(:status) { should eq 'active' }
38
- end
39
-
40
- describe '.retrieve deleted instance' do
41
- let(:id) { 'rec_5lF8M9bka5Ov4Po' }
42
- before do
43
- stub_get_request("/recursions/#{id}", 'recursions/retrieve_deleted')
44
- end
45
-
46
- subject(:recursion) { described_class.retrieve(id) }
47
- its(:id) { should eq id }
48
- its(:deleted) { should eq true }
49
- it { should be_deleted }
50
- end
51
-
52
- describe '.all' do
53
- let(:customer_id) { 'cus_5lF6YD7mq3dWdzB' }
54
- before do
55
- stub_get_request("/recursions?count=3&suspended=false&customer=#{customer_id}", 'recursions/all')
56
- end
57
-
58
- subject(:list) { described_class.all(count: 3, suspended: false, customer: customer_id) }
59
- its(:url) { should eq '/v1/recursions' }
60
- its(:count) { should eq 5 }
61
- it 'data[0].customer' do
62
- expect(list.data[0].customer).to eq customer_id
63
- end
64
- end
65
-
66
- describe '#resume' do
67
- let(:id) { 'rec_5lF8UpcBrfAj0Rz' }
68
- before do
69
- stub_get_request("/recursions/#{id}", 'recursions/retrieve_suspended')
70
- stub_post_request("/recursions/#{id}/resume", 'recursions/resume', retry: 'false')
71
- end
72
-
73
- it 'should update information of the retrieved recursion' do
74
- recursion = described_class.retrieve(id)
75
- recursion.resume(retry: false)
76
-
77
- expect(recursion.status).to eq 'active'
78
- end
79
- end
80
-
81
- describe '#delete' do
82
- let(:id) { 'rec_5lFaeX56W7bkdKR' }
83
- before do
84
- stub_get_request("/recursions/#{id}", 'recursions/retrieve')
85
- stub_delete_request("/recursions/#{id}", 'recursions/delete')
86
- end
87
-
88
- it 'should delete the retrieved recursion' do
89
- recursion = described_class.retrieve(id)
90
- expect(recursion.delete).to eq true
91
- end
92
- end
93
- end
@@ -1,121 +0,0 @@
1
- # coding: utf-8
2
- require 'spec_helper'
3
- describe WebPay::Shop do
4
- let(:details) {
5
- {
6
- "url"=>"https://webpay.jp",
7
- "name"=>"WebPay",
8
- "name_alphabet"=>"WEBPAY",
9
- "name_kana"=>"ウェブペイ",
10
- "product"=>"クレジットカード決済API",
11
- "pricing_url"=>"https://webpay.jp/pricing",
12
- "commercial_law_url"=>"https://webpay.jp/company",
13
- "price_min"=>"30",
14
- "price_max"=>"50000",
15
- "price_average"=>"4000",
16
- "zipcode"=>"1410022",
17
- "address"=>"東京都品川区東品川2丁目2-28 タチバナビル2F",
18
- "address_kana"=>"トウキョウトシナガワクヒガシシナガワ2チョウメ2-28 タチバナビル2F",
19
- "applicant_name"=>"曾川景介",
20
- "applicant_name_kana"=>"ソガワケイスケ",
21
- "applicant_email"=>"sowawa@webpay.jp",
22
- "applicant_phone"=>"03-4589-4747",
23
- "company_name"=>"ウェブペイ株式会社",
24
- "company_name_kana"=>"ウェブペイカブシキガイシャ",
25
- "company_phone"=>"03-4589-4747",
26
- "company_found_date"=>"20130601",
27
- "company_president_name"=>"久保渓",
28
- "company_president_name_kana"=>"クボケイ"
29
- }
30
- }
31
-
32
- describe '.create' do
33
- let(:params) { {:description => 'Sample Shop', :details => details} }
34
- before do
35
- stub_post_request('/shops', 'shops/create', params)
36
- end
37
- subject(:shop) { described_class.create(params)}
38
-
39
- its(:id) { should eq 'sh_4hB3x19La1tr0Lu' }
40
- its(:object) { should eq 'shop' }
41
- its(:livemode) { should eq false }
42
- its(:status) { should eq 'created' }
43
- its(:description) { should eq "Sample Shop" }
44
- its(:access_key) { should eq 'shop_8Yp3sy4HberKgut6vy4Ss6FA' }
45
- its(:created) { should eq 1396706101 }
46
- it { expect(shop.details).to eq details }
47
- it { expect(shop.details['url']).to eq 'https://webpay.jp' }
48
- its(:card_types_supported) { should eq ["Visa", "American Express", "MasterCard", "JCB", "Diners Club"] }
49
- end
50
-
51
- describe '.retrieve' do
52
- let(:id) { 'sh_4hBfnVcoNdRw0Jj' }
53
- before do
54
- stub_get_request("/shops/#{id}", 'shops/retrieve')
55
- end
56
-
57
- subject(:shop) { described_class.retrieve(id) }
58
- its(:id) { should eq id }
59
- it { expect(shop.details).to eq details }
60
- it { expect(shop.details['url']).to eq 'https://webpay.jp' }
61
- end
62
-
63
- describe '.all' do
64
- before do
65
- stub_get_request("/shops?count=3&offset=0&created[gt]=1378000000", 'shops/all')
66
- end
67
-
68
- subject(:list) { described_class.all(count: 3, offset: 0, created: { gt: 1378000000 }) }
69
- its(:url) { should eq '/v1/shops' }
70
- its(:count) { should eq 7 }
71
- it 'data.first.description' do
72
- expect(list.data.first.description).to eq 'Sample Shop'
73
- end
74
- end
75
-
76
- describe '#save' do
77
- let(:id) { 'sh_4hBfnVcoNdRw0Jj' }
78
- let(:description) { '最新の店子' }
79
-
80
- context 'details is changed' do
81
- let(:updated_details) { details.merge('url' => 'https://new.example.com') }
82
- before do
83
- stub_get_request("/shops/#{id}", 'shops/retrieve')
84
- stub_post_request("/shops/#{id}", 'shops/update', description: description, details: updated_details)
85
- end
86
-
87
- it 'should update details of the retrieved shop' do
88
- shop = described_class.retrieve(id)
89
- shop.description = description
90
- shop.details['url'] = 'https://new.example.com'
91
- shop.save
92
-
93
- expect(shop.description).to eq description
94
- end
95
- end
96
-
97
- context 'details is not changed' do
98
- before do
99
- stub_get_request("/shops/#{id}", 'shops/retrieve')
100
- stub_post_request("/shops/#{id}", 'shops/update', description: description)
101
- end
102
-
103
- it 'should update description of the retrieved shop' do
104
- shop = described_class.retrieve(id)
105
- shop.description = description
106
- shop.save
107
-
108
- expect(shop.description).to eq description
109
- end
110
- end
111
- end
112
-
113
- context 'when description is nil' do
114
- it 'should return nil' do
115
- shop = WebPay::Shop.new(description: nil)
116
- expect(shop.description).to eq nil
117
- shop.description = 'new description'
118
- expect(shop.description).to eq 'new description'
119
- end
120
- end
121
- end