gmo 0.3.0 → 0.4.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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +20 -1
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_cancel_deposit_gets_data_about_a_deposit.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_cancel_mail_deposit_gets_data_about_a_mail_deposit.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_create_account_gets_data_about_an_account.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_create_deposit_gets_data_about_a_deposit.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_create_mail_deposit_gets_data_about_a_mail_deposit.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_delete_account_gets_data_about_an_account.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_search_account_gets_data_about_an_account.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_search_balance_gets_data_about_balance.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_search_deposit_gets_data_about_a_deposit.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_search_mail_deposit_gets_data_about_a_mail_deposit.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_RemittanceAPI/_update_account_gets_data_about_an_account.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_change_tran_brandtoken_gets_data_about_order.yml +108 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_entry_tran_brandtoken_gets_data_about_a_transaction.yml +38 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_exec_tran_brandtoken_gets_data_about_a_transaction.yml +73 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_exec_tran_brandtoken_parameter_contains_Japanese_characters_should_correctly_handle_Japanese.yml +73 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_exec_tran_doesn_t_require_card_info_if_token_is_present.yml +69 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_refund_tran_brandtoken_gets_data_about_a_transaction.yml +108 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_sales_tran_brandtoken_gets_data_about_a_transaction.yml +143 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAPI/_void_tran_brandtoken_gets_data_about_order.yml +108 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAndSiteAPI/_exec_tran_brandtoken_got_data.yml +73 -0
- data/fixtures/vcr_cassettes/GMO_Payment_ShopAndSiteAPI/_trade_brandtoken_got_data.yml +108 -0
- data/fixtures/vcr_cassettes/GMO_Payment_SiteAPI/_delete_brandtoken_gets_data_about_a_brandtoken.yml +73 -0
- data/fixtures/vcr_cassettes/GMO_Payment_SiteAPI/_search_brandtoken_gets_data_about_a_brandtoken.yml +74 -0
- data/fixtures/vcr_cassettes/GMO_Payment_SiteAPI/_search_card_detail_by_member_id_gets_data_about_card_detail.yml +36 -0
- data/lib/gmo.rb +6 -1
- data/lib/gmo/const.rb +1159 -1
- data/lib/gmo/errors.rb +20 -2
- data/lib/gmo/remittance_api.rb +329 -0
- data/lib/gmo/shop_and_site_api.rb +73 -0
- data/lib/gmo/shop_api.rb +223 -2
- data/lib/gmo/site_api.rb +64 -0
- data/lib/gmo/version.rb +1 -1
- data/spec/gmo/{error_spec.rb → errors_spec.rb} +11 -2
- data/spec/gmo/remittance_api_spec.rb +504 -0
- data/spec/gmo/shop_and_site_api_spec.rb +74 -0
- data/spec/gmo/shop_api_spec.rb +278 -0
- data/spec/gmo/site_api_spec.rb +84 -1
- data/spec/support/config.example.yml +5 -0
- data/spec/support/config.yml +5 -0
- data/spec/support/config_loader.rb +1 -1
- data/spec/support/vcr.rb +9 -2
- metadata +30 -4
@@ -91,4 +91,78 @@ describe "GMO::Payment::ShopAndSiteAPI" do
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
+
describe "#trade_brandtoken" do
|
95
|
+
|
96
|
+
it "got data", :vcr do
|
97
|
+
order_id = generate_id
|
98
|
+
result = @shop_api.entry_tran_brandtoken({
|
99
|
+
:order_id => order_id,
|
100
|
+
:job_cd => "AUTH",
|
101
|
+
:amount => 100
|
102
|
+
})
|
103
|
+
access_id = result["AccessID"]
|
104
|
+
access_pass = result["AccessPass"]
|
105
|
+
member_id = generate_id
|
106
|
+
result = @service.exec_tran_brandtoken({
|
107
|
+
:order_id => order_id,
|
108
|
+
:access_id => access_id,
|
109
|
+
:access_pass => access_pass,
|
110
|
+
:token_type => :apple_pay,
|
111
|
+
:token => 'base64encodedtoken',
|
112
|
+
:member_id => member_id
|
113
|
+
})
|
114
|
+
result = @service.trade_brandtoken({
|
115
|
+
:order_id => order_id,
|
116
|
+
:member_id => member_id
|
117
|
+
})
|
118
|
+
result["TokenSeq"].nil?.should_not be true
|
119
|
+
result["CardNoToken"].nil?.should_not be true
|
120
|
+
result["Forward"].nil?.should_not be true
|
121
|
+
end
|
122
|
+
|
123
|
+
it "got error if missing options", :vcr do
|
124
|
+
lambda {
|
125
|
+
result = @service.trade_brandtoken()
|
126
|
+
}.should raise_error('Required order_id, member_id were not provided.')
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
describe "#exec_tran_brandtoken" do
|
131
|
+
|
132
|
+
it "got data", :vcr do
|
133
|
+
order_id = generate_id
|
134
|
+
result = @shop_api.entry_tran_brandtoken({
|
135
|
+
:order_id => order_id,
|
136
|
+
:job_cd => "AUTH",
|
137
|
+
:amount => 100
|
138
|
+
})
|
139
|
+
access_id = result["AccessID"]
|
140
|
+
access_pass = result["AccessPass"]
|
141
|
+
member_id = generate_id
|
142
|
+
result = @service.exec_tran_brandtoken({
|
143
|
+
:order_id => order_id,
|
144
|
+
:access_id => access_id,
|
145
|
+
:access_pass => access_pass,
|
146
|
+
:token_type => :apple_pay,
|
147
|
+
:token => 'base64encodedtoken',
|
148
|
+
:member_id => member_id
|
149
|
+
})
|
150
|
+
result["Status"].nil?.should_not be true
|
151
|
+
result["OrderID"].nil?.should_not be true
|
152
|
+
result["Forward"].nil?.should_not be true
|
153
|
+
result["Approve"].nil?.should_not be true
|
154
|
+
result["TranID"].nil?.should_not be true
|
155
|
+
result["TranDate"].nil?.should_not be true
|
156
|
+
result["ClientField1"].nil?.should_not be true
|
157
|
+
result["ClientField2"].nil?.should_not be true
|
158
|
+
result["ClientField3"].nil?.should_not be true
|
159
|
+
end
|
160
|
+
|
161
|
+
it "got error if missing options", :vcr do
|
162
|
+
lambda {
|
163
|
+
result = @service.exec_tran_brandtoken()
|
164
|
+
}.should raise_error('Required access_id, access_pass, member_id, order_id were not provided.')
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
94
168
|
end
|
data/spec/gmo/shop_api_spec.rb
CHANGED
@@ -9,6 +9,13 @@ describe "GMO::Payment::ShopAPI" do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
before(:each) do
|
12
|
+
@shop_site ||= GMO::Payment::ShopAndSiteAPI.new({
|
13
|
+
:site_id => SPEC_CONF["site_id"],
|
14
|
+
:site_pass => SPEC_CONF["site_pass"],
|
15
|
+
:shop_id => SPEC_CONF["shop_id"],
|
16
|
+
:shop_pass => SPEC_CONF["shop_pass"],
|
17
|
+
:host => SPEC_CONF["host"]
|
18
|
+
})
|
12
19
|
@service ||= GMO::Payment::ShopAPI.new({
|
13
20
|
:shop_id => SPEC_CONF["shop_id"],
|
14
21
|
:shop_pass => SPEC_CONF["shop_pass"],
|
@@ -108,6 +115,25 @@ describe "GMO::Payment::ShopAPI" do
|
|
108
115
|
end
|
109
116
|
end
|
110
117
|
|
118
|
+
describe "#entry_tran_brandtoken" do
|
119
|
+
it "gets data about a transaction", :vcr do
|
120
|
+
order_id = @order_id
|
121
|
+
result = @service.entry_tran_brandtoken({
|
122
|
+
:order_id => order_id,
|
123
|
+
:job_cd => "AUTH",
|
124
|
+
:amount => 100
|
125
|
+
})
|
126
|
+
result["AccessID"].nil?.should_not be true
|
127
|
+
result["AccessPass"].nil?.should_not be true
|
128
|
+
end
|
129
|
+
|
130
|
+
it "got error if missing options", :vcr do
|
131
|
+
lambda {
|
132
|
+
result = @service.entry_tran_brandtoken()
|
133
|
+
}.should raise_error('Required order_id, job_cd, amount were not provided.')
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
111
137
|
describe "#exec_tran" do
|
112
138
|
it "gets data about a transaction", :vcr do
|
113
139
|
order_id = generate_id
|
@@ -149,6 +175,27 @@ describe "GMO::Payment::ShopAPI" do
|
|
149
175
|
}.should raise_error("Required access_id, access_pass, order_id, card_no, expire were not provided.")
|
150
176
|
end
|
151
177
|
|
178
|
+
it "doesn't require card info if token is present", :vcr do
|
179
|
+
lambda {
|
180
|
+
order_id = generate_id
|
181
|
+
result = @service.entry_tran({
|
182
|
+
:order_id => order_id,
|
183
|
+
:job_cd => "AUTH",
|
184
|
+
:amount => 100
|
185
|
+
})
|
186
|
+
access_id = result["AccessID"]
|
187
|
+
access_pass = result["AccessPass"]
|
188
|
+
result = @service.exec_tran({
|
189
|
+
:order_id => order_id,
|
190
|
+
:access_id => access_id,
|
191
|
+
:access_pass => access_pass,
|
192
|
+
:method => 1,
|
193
|
+
:pay_times => 1,
|
194
|
+
:token => "onetimetokenfromgmo"
|
195
|
+
})
|
196
|
+
}.should_not raise_error("Required card_no, expire were not provided.")
|
197
|
+
end
|
198
|
+
|
152
199
|
context "parameter contains Japanese characters" do
|
153
200
|
before { require "kconv" unless defined?(Kconv) }
|
154
201
|
|
@@ -299,6 +346,77 @@ describe "GMO::Payment::ShopAPI" do
|
|
299
346
|
end
|
300
347
|
end
|
301
348
|
|
349
|
+
describe "#exec_tran_brandtoken" do
|
350
|
+
it "gets data about a transaction", :vcr do
|
351
|
+
order_id = generate_id
|
352
|
+
client_field_1 = "client_field1"
|
353
|
+
result = @service.entry_tran_brandtoken({
|
354
|
+
:order_id => order_id,
|
355
|
+
:job_cd => "AUTH",
|
356
|
+
:amount => 100
|
357
|
+
})
|
358
|
+
access_id = result["AccessID"]
|
359
|
+
access_pass = result["AccessPass"]
|
360
|
+
result = @service.exec_tran_brandtoken({
|
361
|
+
:order_id => order_id,
|
362
|
+
:access_id => access_id,
|
363
|
+
:access_pass => access_pass,
|
364
|
+
:token_type => :apple_pay,
|
365
|
+
:token => 'base64encodedtoken',
|
366
|
+
:client_field_1 => client_field_1
|
367
|
+
})
|
368
|
+
result["Status"].nil?.should_not be true
|
369
|
+
result["OrderID"].nil?.should_not be true
|
370
|
+
result["Forward"].nil?.should_not be true
|
371
|
+
result["Approve"].nil?.should_not be true
|
372
|
+
result["TranID"].nil?.should_not be true
|
373
|
+
result["TranDate"].nil?.should_not be true
|
374
|
+
(result["ClientField1"] == client_field_1).should be true
|
375
|
+
result["ClientField2"].nil?.should_not be true
|
376
|
+
result["ClientField3"].nil?.should_not be true
|
377
|
+
end
|
378
|
+
|
379
|
+
it "got error if missing options", :vcr do
|
380
|
+
lambda {
|
381
|
+
result = @service.exec_tran_brandtoken()
|
382
|
+
}.should raise_error("Required access_id, access_pass, order_id were not provided.")
|
383
|
+
end
|
384
|
+
|
385
|
+
context "parameter contains Japanese characters" do
|
386
|
+
before { require "kconv" unless defined?(Kconv) }
|
387
|
+
|
388
|
+
it "should correctly handle Japanese", :vcr do
|
389
|
+
order_id = generate_id
|
390
|
+
client_field_1 = "〜−¢£¬−‖①ほげほげhogehoge"
|
391
|
+
result = @service.entry_tran_brandtoken({
|
392
|
+
:order_id => order_id,
|
393
|
+
:job_cd => "AUTH",
|
394
|
+
:amount => 100
|
395
|
+
})
|
396
|
+
access_id = result["AccessID"]
|
397
|
+
access_pass = result["AccessPass"]
|
398
|
+
result = @service.exec_tran_brandtoken({
|
399
|
+
:order_id => order_id,
|
400
|
+
:access_id => access_id,
|
401
|
+
:access_pass => access_pass,
|
402
|
+
:token_type => :apple_pay,
|
403
|
+
:token => 'base64encodedtoken',
|
404
|
+
:client_field_1 => client_field_1
|
405
|
+
})
|
406
|
+
result["Status"].nil?.should_not be true
|
407
|
+
result["OrderID"].nil?.should_not be true
|
408
|
+
result["Forward"].nil?.should_not be true
|
409
|
+
result["Approve"].nil?.should_not be true
|
410
|
+
result["TranID"].nil?.should_not be true
|
411
|
+
result["TranDate"].nil?.should_not be true
|
412
|
+
(result["ClientField1"] == client_field_1).should be true
|
413
|
+
(result["ClientField1"].encoding.to_s == "UTF-8").should be true
|
414
|
+
result["ClientField2"].nil?.should_not be true
|
415
|
+
result["ClientField3"].nil?.should_not be true
|
416
|
+
end
|
417
|
+
end
|
418
|
+
end
|
419
|
+
|
302
420
|
describe "#alter_tran" do
|
303
421
|
it "gets data about order", :vcr do
|
304
422
|
order_id = generate_id
|
@@ -413,6 +531,166 @@ describe "GMO::Payment::ShopAPI" do
|
|
413
531
|
end
|
414
532
|
end
|
415
533
|
|
534
|
+
describe "#change_tran_brandtoken" do
|
535
|
+
it "gets data about order", :vcr do
|
536
|
+
order_id = generate_id
|
537
|
+
result = @service.entry_tran_brandtoken({
|
538
|
+
:order_id => order_id,
|
539
|
+
:job_cd => "AUTH",
|
540
|
+
:amount => 100
|
541
|
+
})
|
542
|
+
access_id = result["AccessID"]
|
543
|
+
access_pass = result["AccessPass"]
|
544
|
+
@service.exec_tran_brandtoken({
|
545
|
+
:order_id => order_id,
|
546
|
+
:access_id => access_id,
|
547
|
+
:access_pass => access_pass,
|
548
|
+
:token_type => :apple_pay,
|
549
|
+
:token => 'base64encodedtoken'
|
550
|
+
})
|
551
|
+
result = @service.change_tran_brandtoken({
|
552
|
+
:order_id => order_id,
|
553
|
+
:access_id => access_id,
|
554
|
+
:access_pass => access_pass,
|
555
|
+
:job_cd => "CAPTURE",
|
556
|
+
:amount => 1500
|
557
|
+
})
|
558
|
+
result["AccessID"].nil?.should_not be true
|
559
|
+
result["AccessPass"].nil?.should_not be true
|
560
|
+
result["Status"].nil?.should_not be true
|
561
|
+
result["Forward"].nil?.should_not be true
|
562
|
+
result["Approve"].nil?.should_not be true
|
563
|
+
result["TranID"].nil?.should_not be true
|
564
|
+
result["TranDate"].nil?.should_not be true
|
565
|
+
end
|
566
|
+
|
567
|
+
it "got error if missing options", :vcr do
|
568
|
+
lambda {
|
569
|
+
result = @service.change_tran_brandtoken()
|
570
|
+
}.should raise_error('Required access_id, access_pass, order_id, job_cd, amount were not provided.')
|
571
|
+
end
|
572
|
+
end
|
573
|
+
|
574
|
+
describe "#void_tran_brandtoken" do
|
575
|
+
it "gets data about order", :vcr do
|
576
|
+
order_id = generate_id
|
577
|
+
result = @service.entry_tran_brandtoken({
|
578
|
+
:order_id => order_id,
|
579
|
+
:job_cd => "AUTH",
|
580
|
+
:amount => 100
|
581
|
+
})
|
582
|
+
access_id = result["AccessID"]
|
583
|
+
access_pass = result["AccessPass"]
|
584
|
+
@service.exec_tran_brandtoken({
|
585
|
+
:order_id => order_id,
|
586
|
+
:access_id => access_id,
|
587
|
+
:access_pass => access_pass,
|
588
|
+
:token_type => :apple_pay,
|
589
|
+
:token => 'base64encodedtoken'
|
590
|
+
})
|
591
|
+
result = @service.void_tran_brandtoken({
|
592
|
+
:order_id => order_id,
|
593
|
+
:access_id => access_id,
|
594
|
+
:access_pass => access_pass
|
595
|
+
})
|
596
|
+
result["AccessID"].nil?.should_not be true
|
597
|
+
result["AccessPass"].nil?.should_not be true
|
598
|
+
result["Status"].nil?.should_not be true
|
599
|
+
result["Forward"].nil?.should_not be true
|
600
|
+
result["Approve"].nil?.should_not be true
|
601
|
+
result["TranID"].nil?.should_not be true
|
602
|
+
result["TranDate"].nil?.should_not be true
|
603
|
+
end
|
604
|
+
|
605
|
+
it "got error if missing options", :vcr do
|
606
|
+
lambda {
|
607
|
+
result = @service.void_tran_brandtoken()
|
608
|
+
}.should raise_error('Required access_id, access_pass, order_id were not provided.')
|
609
|
+
end
|
610
|
+
end
|
611
|
+
|
612
|
+
describe "#sales_tran_brandtoken" do
|
613
|
+
it "gets data about a transaction", :vcr do
|
614
|
+
order_id = generate_id
|
615
|
+
result = @service.entry_tran_brandtoken({
|
616
|
+
:order_id => order_id,
|
617
|
+
:job_cd => "AUTH",
|
618
|
+
:amount => 1000
|
619
|
+
})
|
620
|
+
access_id = result["AccessID"]
|
621
|
+
access_pass = result["AccessPass"]
|
622
|
+
@service.exec_tran_brandtoken({
|
623
|
+
:order_id => order_id,
|
624
|
+
:access_id => access_id,
|
625
|
+
:access_pass => access_pass,
|
626
|
+
:token_type => :apple_pay,
|
627
|
+
:token => 'base64encodedtoken'
|
628
|
+
})
|
629
|
+
member_id = generate_id
|
630
|
+
@shop_site.trade_brandtoken({
|
631
|
+
:member_id => member_id,
|
632
|
+
:order_id => order_id
|
633
|
+
})
|
634
|
+
result = @service.sales_tran_brandtoken({
|
635
|
+
:access_id => access_id,
|
636
|
+
:access_pass => access_pass,
|
637
|
+
:order_id => order_id,
|
638
|
+
:amount => 1000
|
639
|
+
})
|
640
|
+
result["AccessID"].nil?.should_not be true
|
641
|
+
result["AccessPass"].nil?.should_not be true
|
642
|
+
result["Status"].nil?.should_not be true
|
643
|
+
result["Forward"].nil?.should_not be true
|
644
|
+
result["Approve"].nil?.should_not be true
|
645
|
+
result["TranID"].nil?.should_not be true
|
646
|
+
result["TranDate"].nil?.should_not be true
|
647
|
+
end
|
648
|
+
|
649
|
+
it "got error if missing options", :vcr do
|
650
|
+
lambda {
|
651
|
+
result = @service.sales_tran_brandtoken()
|
652
|
+
}.should raise_error('Required access_id, access_pass, order_id, amount were not provided.')
|
653
|
+
end
|
654
|
+
end
|
655
|
+
|
656
|
+
describe "#refund_tran_brandtoken" do
|
657
|
+
it "gets data about a transaction", :vcr do
|
658
|
+
order_id = generate_id
|
659
|
+
result = @service.entry_tran_brandtoken({
|
660
|
+
:order_id => order_id,
|
661
|
+
:job_cd => "CAPTURE",
|
662
|
+
:amount => 1000
|
663
|
+
})
|
664
|
+
access_id = result["AccessID"]
|
665
|
+
access_pass = result["AccessPass"]
|
666
|
+
@service.exec_tran_brandtoken({
|
667
|
+
:order_id => order_id,
|
668
|
+
:access_id => access_id,
|
669
|
+
:access_pass => access_pass,
|
670
|
+
:token_type => :apple_pay,
|
671
|
+
:token => 'base64encodedtoken'
|
672
|
+
})
|
673
|
+
result = @service.refund_tran_brandtoken({
|
674
|
+
:access_id => access_id,
|
675
|
+
:access_pass => access_pass,
|
676
|
+
:order_id => order_id,
|
677
|
+
:amount => 1000
|
678
|
+
})
|
679
|
+
result["AccessID"].nil?.should_not be true
|
680
|
+
result["AccessPass"].nil?.should_not be true
|
681
|
+
result["Status"].nil?.should_not be true
|
682
|
+
result["Forward"].nil?.should_not be true
|
683
|
+
result["Approve"].nil?.should_not be true
|
684
|
+
result["TranID"].nil?.should_not be true
|
685
|
+
result["TranDate"].nil?.should_not be true
|
686
|
+
end
|
687
|
+
|
688
|
+
it "got error if missing options", :vcr do
|
689
|
+
lambda {
|
690
|
+
result = @service.refund_tran_brandtoken()
|
691
|
+
}.should raise_error('Required access_id, access_pass, order_id, amount were not provided.')
|
692
|
+
end
|
693
|
+
end
|
416
694
|
|
417
695
|
describe "#search_trade" do
|
418
696
|
it "gets data about order", :vcr do
|
data/spec/gmo/site_api_spec.rb
CHANGED
@@ -7,6 +7,13 @@ describe "GMO::Payment::SiteAPI" do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
before(:each) do
|
10
|
+
@shop_site ||= GMO::Payment::ShopAndSiteAPI.new({
|
11
|
+
:site_id => SPEC_CONF["site_id"],
|
12
|
+
:site_pass => SPEC_CONF["site_pass"],
|
13
|
+
:shop_id => SPEC_CONF["shop_id"],
|
14
|
+
:shop_pass => SPEC_CONF["shop_pass"],
|
15
|
+
:host => SPEC_CONF["host"]
|
16
|
+
})
|
10
17
|
@service ||= GMO::Payment::SiteAPI.new({
|
11
18
|
:site_id => SPEC_CONF["site_id"],
|
12
19
|
:site_pass => SPEC_CONF["site_pass"],
|
@@ -200,4 +207,80 @@ describe "GMO::Payment::SiteAPI" do
|
|
200
207
|
end
|
201
208
|
end
|
202
209
|
|
203
|
-
|
210
|
+
describe "#search_card_detail_by_member_id" do
|
211
|
+
it "gets data about card detail", :vcr do
|
212
|
+
member_id = generate_id
|
213
|
+
seq_mode = 0
|
214
|
+
result = @service.search_card_detail_by_member_id({
|
215
|
+
:member_id => member_id,
|
216
|
+
:seq_mode => seq_mode
|
217
|
+
})
|
218
|
+
result["CardNo"].nil?.should_not be_truthy
|
219
|
+
result["Brand"].nil?.should_not be_truthy
|
220
|
+
result["DomesticFlag"].nil?.should_not be_truthy
|
221
|
+
result["IssuerCode"].nil?.should_not be_truthy
|
222
|
+
result["DebitPrepaidFlag"].nil?.should_not be_truthy
|
223
|
+
result["DebitPrepaidIssuerName"].nil?.should_not be_truthy
|
224
|
+
result["ForwardFinal"].nil?.should_not be_truthy
|
225
|
+
end
|
226
|
+
|
227
|
+
it "got error if missing options", :vcr do
|
228
|
+
lambda {
|
229
|
+
result = @service.search_card_detail_by_member_id()
|
230
|
+
}.should raise_error("Required member_id, seq_mode were not provided.")
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
describe "#search_brandtoken" do
|
235
|
+
it "gets data about a brandtoken", :vcr do
|
236
|
+
order_id = generate_id
|
237
|
+
member_id = generate_id
|
238
|
+
@shop_site.trade_brandtoken({
|
239
|
+
:order_id => order_id,
|
240
|
+
:member_id => member_id
|
241
|
+
})
|
242
|
+
|
243
|
+
result = @service.search_brandtoken({
|
244
|
+
:member_id => member_id,
|
245
|
+
:seq_mode => 0
|
246
|
+
})
|
247
|
+
result["TokenSeq"].nil?.should_not be true
|
248
|
+
result["DefaultFlag"].nil?.should_not be true
|
249
|
+
result["CardName"].nil?.should_not be true
|
250
|
+
result["CardNoToken"].nil?.should_not be true
|
251
|
+
result["Expire"].nil?.should_not be true
|
252
|
+
result["HolderName"].nil?.should_not be true
|
253
|
+
result["DeleteFlag"].nil?.should_not be true
|
254
|
+
end
|
255
|
+
|
256
|
+
it "got error if missing options", :vcr do
|
257
|
+
lambda {
|
258
|
+
result = @service.search_brandtoken()
|
259
|
+
}.should raise_error("Required member_id, seq_mode were not provided.")
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
describe "#delete_brandtoken" do
|
264
|
+
it "gets data about a brandtoken", :vcr do
|
265
|
+
order_id = generate_id
|
266
|
+
member_id = generate_id
|
267
|
+
@shop_site.trade_brandtoken({
|
268
|
+
:order_id => order_id,
|
269
|
+
:member_id => member_id
|
270
|
+
})
|
271
|
+
|
272
|
+
result = @service.delete_brandtoken({
|
273
|
+
:member_id => member_id,
|
274
|
+
:seq_mode => 0,
|
275
|
+
:token_seq => 0
|
276
|
+
})
|
277
|
+
result["TokenSeq"].nil?.should_not be true
|
278
|
+
end
|
279
|
+
|
280
|
+
it "got error if missing options", :vcr do
|
281
|
+
lambda {
|
282
|
+
result = @service.delete_brandtoken()
|
283
|
+
}.should raise_error('Required member_id, seq_mode, token_seq were not provided.')
|
284
|
+
end
|
285
|
+
end
|
286
|
+
end
|