stripe 1.31.0 → 1.58.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE.md +5 -0
- data/.travis.yml +2 -12
- data/Gemfile +29 -4
- data/History.txt +168 -0
- data/README.md +134 -0
- data/Rakefile +10 -0
- data/VERSION +1 -1
- data/bin/stripe-console +12 -5
- data/lib/data/ca-certificates.crt +3868 -5114
- data/lib/stripe/account.rb +41 -21
- data/lib/stripe/alipay_account.rb +20 -0
- data/lib/stripe/api_operations/create.rb +1 -1
- data/lib/stripe/api_operations/delete.rb +1 -1
- data/lib/stripe/api_operations/list.rb +1 -2
- data/lib/stripe/api_operations/save.rb +87 -0
- data/lib/stripe/api_resource.rb +37 -4
- data/lib/stripe/apple_pay_domain.rb +12 -0
- data/lib/stripe/application_fee.rb +8 -8
- data/lib/stripe/application_fee_refund.rb +7 -3
- data/lib/stripe/balance_transaction.rb +1 -1
- data/lib/stripe/bank_account.rb +9 -5
- data/lib/stripe/bitcoin_receiver.rb +6 -6
- data/lib/stripe/bitcoin_transaction.rb +1 -1
- data/lib/stripe/card.rb +9 -5
- data/lib/stripe/charge.rb +30 -12
- data/lib/stripe/country_spec.rb +9 -0
- data/lib/stripe/coupon.rb +1 -1
- data/lib/stripe/customer.rb +6 -4
- data/lib/stripe/dispute.rb +2 -2
- data/lib/stripe/errors.rb +82 -0
- data/lib/stripe/file_upload.rb +1 -1
- data/lib/stripe/invoice.rb +3 -3
- data/lib/stripe/invoice_item.rb +1 -1
- data/lib/stripe/list_object.rb +7 -6
- data/lib/stripe/order.rb +10 -2
- data/lib/stripe/order_return.rb +9 -0
- data/lib/stripe/plan.rb +1 -1
- data/lib/stripe/product.rb +2 -10
- data/lib/stripe/recipient.rb +1 -1
- data/lib/stripe/refund.rb +1 -1
- data/lib/stripe/reversal.rb +7 -3
- data/lib/stripe/singleton_api_resource.rb +3 -3
- data/lib/stripe/sku.rb +2 -2
- data/lib/stripe/source.rb +11 -0
- data/lib/stripe/stripe_object.rb +167 -91
- data/lib/stripe/subscription.rb +15 -9
- data/lib/stripe/subscription_item.rb +12 -0
- data/lib/stripe/three_d_secure.rb +9 -0
- data/lib/stripe/transfer.rb +3 -4
- data/lib/stripe/util.rb +100 -28
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +283 -140
- data/stripe.gemspec +5 -18
- data/test/stripe/account_test.rb +55 -9
- data/test/stripe/alipay_account_test.rb +11 -0
- data/test/stripe/api_operations_test.rb +31 -0
- data/test/stripe/api_resource_test.rb +204 -10
- data/test/stripe/apple_pay_domain_test.rb +34 -0
- data/test/stripe/application_fee_test.rb +8 -5
- data/test/stripe/bitcoin_receiver_test.rb +2 -2
- data/test/stripe/charge_refund_test.rb +12 -0
- data/test/stripe/charge_test.rb +32 -4
- data/test/stripe/country_spec_test.rb +43 -0
- data/test/stripe/coupon_test.rb +9 -1
- data/test/stripe/customer_card_test.rb +2 -2
- data/test/stripe/customer_test.rb +24 -1
- data/test/stripe/dispute_test.rb +8 -0
- data/test/stripe/errors_test.rb +18 -0
- data/test/stripe/invoice_item_test.rb +19 -0
- data/test/stripe/invoice_test.rb +27 -1
- data/test/stripe/list_object_test.rb +36 -15
- data/test/stripe/order_return_test.rb +25 -0
- data/test/stripe/order_test.rb +21 -1
- data/test/stripe/plan_test.rb +31 -0
- data/test/stripe/product_test.rb +17 -7
- data/test/stripe/recipient_card_test.rb +2 -2
- data/test/stripe/recipient_test.rb +21 -0
- data/test/stripe/refund_test.rb +10 -1
- data/test/stripe/sku_test.rb +15 -6
- data/test/stripe/source_test.rb +83 -0
- data/test/stripe/stripe_object_test.rb +180 -11
- data/test/stripe/subscription_item_test.rb +76 -0
- data/test/stripe/subscription_test.rb +161 -37
- data/test/stripe/three_d_secure_test.rb +22 -0
- data/test/stripe/transfer_test.rb +8 -0
- data/test/stripe/util_test.rb +48 -16
- data/test/stripe_test.rb +58 -0
- data/test/test_data.rb +337 -27
- data/test/test_helper.rb +7 -3
- metadata +47 -133
- data/README.rdoc +0 -68
- data/gemfiles/default-with-activesupport.gemfile +0 -10
- data/gemfiles/json.gemfile +0 -12
- data/gemfiles/yajl.gemfile +0 -12
- data/lib/stripe/api_operations/update.rb +0 -58
- data/lib/stripe/errors/api_connection_error.rb +0 -4
- data/lib/stripe/errors/api_error.rb +0 -4
- data/lib/stripe/errors/authentication_error.rb +0 -4
- data/lib/stripe/errors/card_error.rb +0 -12
- data/lib/stripe/errors/invalid_request_error.rb +0 -11
- data/lib/stripe/errors/rate_limit_error.rb +0 -4
- data/lib/stripe/errors/stripe_error.rb +0 -26
data/test/test_data.rb
CHANGED
@@ -56,7 +56,7 @@ module Stripe
|
|
56
56
|
{
|
57
57
|
:data => [make_balance_transaction, make_balance_transaction, make_balance_transaction],
|
58
58
|
:object => "list",
|
59
|
-
:
|
59
|
+
:resource_url => "/v1/balance/history"
|
60
60
|
}
|
61
61
|
end
|
62
62
|
|
@@ -93,7 +93,7 @@ module Stripe
|
|
93
93
|
{
|
94
94
|
:data => [make_application_fee, make_application_fee, make_application_fee],
|
95
95
|
:object => 'list',
|
96
|
-
:
|
96
|
+
:resource_url => '/v1/application_fees'
|
97
97
|
}
|
98
98
|
end
|
99
99
|
|
@@ -101,7 +101,7 @@ module Stripe
|
|
101
101
|
{
|
102
102
|
:data => [make_application_fee_refund, make_application_fee_refund, make_application_fee_refund],
|
103
103
|
:object => 'list',
|
104
|
-
:
|
104
|
+
:resource_url => '/v1/application_fees/' + fee_id + '/refunds'
|
105
105
|
}
|
106
106
|
end
|
107
107
|
|
@@ -118,7 +118,7 @@ module Stripe
|
|
118
118
|
:created => 1304114758,
|
119
119
|
:sources => make_customer_card_array(id),
|
120
120
|
:metadata => {},
|
121
|
-
:subscriptions =>
|
121
|
+
:subscriptions => make_customer_subscription_array(id)
|
122
122
|
}.merge(params)
|
123
123
|
end
|
124
124
|
|
@@ -126,7 +126,7 @@ module Stripe
|
|
126
126
|
{
|
127
127
|
:data => [make_customer, make_customer, make_customer],
|
128
128
|
:object => 'list',
|
129
|
-
:
|
129
|
+
:resource_url => '/v1/customers'
|
130
130
|
}
|
131
131
|
end
|
132
132
|
|
@@ -152,7 +152,13 @@ module Stripe
|
|
152
152
|
:object => "charge",
|
153
153
|
:created => 1304114826,
|
154
154
|
:refunds => make_refund_array(id),
|
155
|
-
:metadata => {}
|
155
|
+
:metadata => {},
|
156
|
+
:outcome => {
|
157
|
+
type: 'authorized',
|
158
|
+
reason: nil,
|
159
|
+
seller_message: 'Payment complete.',
|
160
|
+
network_status: 'approved_by_network',
|
161
|
+
},
|
156
162
|
}.merge(params)
|
157
163
|
end
|
158
164
|
|
@@ -160,11 +166,10 @@ module Stripe
|
|
160
166
|
{
|
161
167
|
:data => [make_charge, make_charge, make_charge],
|
162
168
|
:object => 'list',
|
163
|
-
:
|
169
|
+
:resource_url => '/v1/charges'
|
164
170
|
}
|
165
171
|
end
|
166
172
|
|
167
|
-
|
168
173
|
def make_dispute(params={})
|
169
174
|
id = params[:id] || 'dp_test_dispute'
|
170
175
|
{
|
@@ -185,7 +190,7 @@ module Stripe
|
|
185
190
|
{
|
186
191
|
:data => [make_dispute, make_dispute, make_dispute],
|
187
192
|
:object => 'list',
|
188
|
-
:
|
193
|
+
:resource_url => '/v1/disputes'
|
189
194
|
}
|
190
195
|
end
|
191
196
|
|
@@ -193,7 +198,7 @@ module Stripe
|
|
193
198
|
{
|
194
199
|
:data => [make_card, make_card, make_card],
|
195
200
|
:object => 'list',
|
196
|
-
:
|
201
|
+
:resource_url => '/v1/recipients/' + recipient_id + '/cards'
|
197
202
|
}
|
198
203
|
end
|
199
204
|
|
@@ -201,7 +206,7 @@ module Stripe
|
|
201
206
|
{
|
202
207
|
:data => [make_card, make_card, make_card],
|
203
208
|
:object => 'list',
|
204
|
-
:
|
209
|
+
:resource_url => '/v1/customers/' + customer_id + '/sources'
|
205
210
|
}
|
206
211
|
end
|
207
212
|
|
@@ -236,7 +241,7 @@ module Stripe
|
|
236
241
|
:created => 1403047735,
|
237
242
|
:size => 4908,
|
238
243
|
:purpose => params[:purpose] || "dispute_evidence",
|
239
|
-
:
|
244
|
+
:resource_url => nil,
|
240
245
|
:type => nil,
|
241
246
|
}
|
242
247
|
end
|
@@ -245,7 +250,7 @@ module Stripe
|
|
245
250
|
{
|
246
251
|
:data => [make_file, make_file, make_file],
|
247
252
|
:object => 'list',
|
248
|
-
:
|
253
|
+
:resource_url => '/v1/files'
|
249
254
|
}
|
250
255
|
end
|
251
256
|
|
@@ -272,6 +277,24 @@ module Stripe
|
|
272
277
|
}.merge(params)
|
273
278
|
end
|
274
279
|
|
280
|
+
def make_subscription_item(params = {})
|
281
|
+
plan = params.delete(:plan) || 'gold'
|
282
|
+
{
|
283
|
+
:id => "si_test_subscription_item",
|
284
|
+
:object => "subscription_item",
|
285
|
+
:created => 1473875521,
|
286
|
+
:plan => {
|
287
|
+
:id => plan,
|
288
|
+
:object => "plan",
|
289
|
+
:amount => 1000,
|
290
|
+
:created => 1468349629,
|
291
|
+
:currency => "usd",
|
292
|
+
:interval => "month",
|
293
|
+
},
|
294
|
+
:quantity => 1
|
295
|
+
}.merge(params)
|
296
|
+
end
|
297
|
+
|
275
298
|
def make_refund(params = {})
|
276
299
|
{
|
277
300
|
:object => 'refund',
|
@@ -284,11 +307,27 @@ module Stripe
|
|
284
307
|
}.merge(params)
|
285
308
|
end
|
286
309
|
|
287
|
-
def make_subscription_array
|
310
|
+
def make_subscription_array
|
311
|
+
{
|
312
|
+
:data => [make_subscription, make_subscription, make_subscription],
|
313
|
+
:object => 'list',
|
314
|
+
:resource_url => '/v1/subscriptions'
|
315
|
+
}
|
316
|
+
end
|
317
|
+
|
318
|
+
def make_subscription_item_array
|
319
|
+
{
|
320
|
+
:data => [make_subscription_item, make_subscription_item, make_subscription_item],
|
321
|
+
:object => 'list',
|
322
|
+
:resource_url => '/v1/subscription_items'
|
323
|
+
}
|
324
|
+
end
|
325
|
+
|
326
|
+
def make_customer_subscription_array(customer_id)
|
288
327
|
{
|
289
328
|
:data => [make_subscription, make_subscription, make_subscription],
|
290
329
|
:object => 'list',
|
291
|
-
:
|
330
|
+
:resource_url => '/v1/customers/' + customer_id + '/subscriptions'
|
292
331
|
}
|
293
332
|
end
|
294
333
|
|
@@ -298,7 +337,7 @@ module Stripe
|
|
298
337
|
{
|
299
338
|
:data => [make_refund(p), make_refund(p), make_refund(p)],
|
300
339
|
:object => 'list',
|
301
|
-
:
|
340
|
+
:resource_url => charge ? "/v1/charges/#{charge}/refunds" : '/v1/refunds'
|
302
341
|
}
|
303
342
|
end
|
304
343
|
|
@@ -306,11 +345,11 @@ module Stripe
|
|
306
345
|
{
|
307
346
|
:data => [make_reversal, make_reversal, make_reversal],
|
308
347
|
:object => 'list',
|
309
|
-
:
|
348
|
+
:resource_url => '/v1/transfers/' + transfer_id + '/reversals'
|
310
349
|
}
|
311
350
|
end
|
312
351
|
|
313
|
-
def make_invoice
|
352
|
+
def make_invoice(params={})
|
314
353
|
{
|
315
354
|
:id => 'in_test_invoice',
|
316
355
|
:object => 'invoice',
|
@@ -348,7 +387,7 @@ module Stripe
|
|
348
387
|
:discount => nil,
|
349
388
|
:ending_balance => nil,
|
350
389
|
:next_payment_attempt => 1349825350,
|
351
|
-
}
|
390
|
+
}.merge(params)
|
352
391
|
end
|
353
392
|
|
354
393
|
def make_paid_invoice
|
@@ -363,11 +402,22 @@ module Stripe
|
|
363
402
|
})
|
364
403
|
end
|
365
404
|
|
405
|
+
def make_invoice_item(params={})
|
406
|
+
{
|
407
|
+
id: "ii_test_invoice_item",
|
408
|
+
object: "invoiceitem",
|
409
|
+
date: 1466982411,
|
410
|
+
invoice: "in_test_invoice",
|
411
|
+
livemode: false,
|
412
|
+
metadata: {},
|
413
|
+
}.merge(params)
|
414
|
+
end
|
415
|
+
|
366
416
|
def make_invoice_customer_array
|
367
417
|
{
|
368
418
|
:data => [make_invoice],
|
369
419
|
:object => 'list',
|
370
|
-
:
|
420
|
+
:resource_url => '/v1/invoices?customer=test_customer'
|
371
421
|
}
|
372
422
|
end
|
373
423
|
|
@@ -397,7 +447,7 @@ module Stripe
|
|
397
447
|
{
|
398
448
|
:data => [make_recipient, make_recipient, make_recipient],
|
399
449
|
:object => 'list',
|
400
|
-
:
|
450
|
+
:resource_url => '/v1/recipients'
|
401
451
|
}
|
402
452
|
end
|
403
453
|
|
@@ -428,7 +478,7 @@ module Stripe
|
|
428
478
|
{
|
429
479
|
:data => [make_transfer, make_transfer, make_transfer],
|
430
480
|
:object => 'list',
|
431
|
-
:
|
481
|
+
:resource_url => '/v1/transfers'
|
432
482
|
}
|
433
483
|
end
|
434
484
|
|
@@ -458,6 +508,7 @@ module Stripe
|
|
458
508
|
:description => 'some details',
|
459
509
|
:metadata => {},
|
460
510
|
:object => 'bitcoin_receiver',
|
511
|
+
:customer => nil,
|
461
512
|
:transactions => make_bitcoin_transaction_array
|
462
513
|
}.merge(params)
|
463
514
|
end
|
@@ -466,7 +517,7 @@ module Stripe
|
|
466
517
|
{
|
467
518
|
:data => [make_bitcoin_receiver, make_bitcoin_receiver, make_bitcoin_receiver],
|
468
519
|
:object => 'list',
|
469
|
-
:
|
520
|
+
:resource_url => '/v1/bitcoin/receivers'
|
470
521
|
}
|
471
522
|
end
|
472
523
|
|
@@ -485,7 +536,7 @@ module Stripe
|
|
485
536
|
{
|
486
537
|
:data => [make_bitcoin_transaction, make_bitcoin_transaction, make_bitcoin_transaction],
|
487
538
|
:object => 'list',
|
488
|
-
:
|
539
|
+
:resource_url => "/v1/bitcoin/receivers/btcrcv_test_receiver/transactions"
|
489
540
|
}
|
490
541
|
end
|
491
542
|
|
@@ -567,7 +618,7 @@ module Stripe
|
|
567
618
|
def make_product_array
|
568
619
|
{
|
569
620
|
:object => "list",
|
570
|
-
:
|
621
|
+
:resource_url => "/v1/products",
|
571
622
|
:data => [
|
572
623
|
make_product,
|
573
624
|
make_product,
|
@@ -602,7 +653,7 @@ module Stripe
|
|
602
653
|
def make_sku_array(product_id, params={})
|
603
654
|
{
|
604
655
|
:object => "list",
|
605
|
-
:
|
656
|
+
:resource_url => "/v1/skus",
|
606
657
|
:data => [
|
607
658
|
make_sku(:product => product_id),
|
608
659
|
make_sku(:product => product_id),
|
@@ -656,7 +707,7 @@ module Stripe
|
|
656
707
|
def make_order_array(params={})
|
657
708
|
{
|
658
709
|
:object => "list",
|
659
|
-
:
|
710
|
+
:resource_url => "/v1/orders",
|
660
711
|
:data => [
|
661
712
|
make_order,
|
662
713
|
make_order,
|
@@ -671,5 +722,264 @@ module Stripe
|
|
671
722
|
:charge => make_charge,
|
672
723
|
}).merge(params)
|
673
724
|
end
|
725
|
+
|
726
|
+
def make_partially_returned_order(params={})
|
727
|
+
make_paid_order.merge({
|
728
|
+
:returns => make_order_return_array,
|
729
|
+
}).merge(params)
|
730
|
+
end
|
731
|
+
|
732
|
+
def make_order_return(params={})
|
733
|
+
{
|
734
|
+
:id => "orret_18CI1jDAu10Yox5R5kGPgbLN",
|
735
|
+
:object => "order_return",
|
736
|
+
:amount => 1220,
|
737
|
+
:created => 1463529303,
|
738
|
+
:currency => "usd",
|
739
|
+
:items => [
|
740
|
+
{
|
741
|
+
:object => "order_item",
|
742
|
+
:amount => 200,
|
743
|
+
:currency => "usd",
|
744
|
+
:description => "Just a SKU",
|
745
|
+
:parent => "sku_80NAUPJ9dpYtck",
|
746
|
+
:quantity => 2,
|
747
|
+
:type => "sku"
|
748
|
+
},
|
749
|
+
{
|
750
|
+
:object => "order_item",
|
751
|
+
:amount => 20,
|
752
|
+
:currency => "usd",
|
753
|
+
:description => "Fair enough",
|
754
|
+
:parent => nil,
|
755
|
+
:quantity => nil,
|
756
|
+
:type => "tax"
|
757
|
+
},
|
758
|
+
],
|
759
|
+
:livemode => false,
|
760
|
+
:order => "or_189jaGDAu10Yox5R0F6LoH6K",
|
761
|
+
:refund => nil,
|
762
|
+
}.merge(params)
|
763
|
+
end
|
764
|
+
|
765
|
+
def make_order_return_array
|
766
|
+
{
|
767
|
+
:object => "list",
|
768
|
+
:resource_url => "/v1/order_returns",
|
769
|
+
:data => [
|
770
|
+
make_order_return,
|
771
|
+
make_order_return,
|
772
|
+
make_order_return,
|
773
|
+
]
|
774
|
+
}
|
775
|
+
end
|
776
|
+
|
777
|
+
def country_spec_array
|
778
|
+
{
|
779
|
+
:object => "list",
|
780
|
+
:resource_url => "/v1/country_specs",
|
781
|
+
:data => [
|
782
|
+
make_country_spec,
|
783
|
+
make_country_spec,
|
784
|
+
make_country_spec,
|
785
|
+
]
|
786
|
+
}
|
787
|
+
end
|
788
|
+
|
789
|
+
def make_country_spec(params={})
|
790
|
+
{
|
791
|
+
:id => "US",
|
792
|
+
:object => "country_spec",
|
793
|
+
:supported_bank_account_currencies => {
|
794
|
+
:usd => ["US"]
|
795
|
+
},
|
796
|
+
:supported_payment_currencies => [
|
797
|
+
"usd", "aed", "afn", "all"
|
798
|
+
],
|
799
|
+
:supported_payment_methods => [
|
800
|
+
"alipay",
|
801
|
+
"card",
|
802
|
+
"stripe"
|
803
|
+
],
|
804
|
+
:verification_fields =>
|
805
|
+
{
|
806
|
+
:individual => {
|
807
|
+
:minimum => [
|
808
|
+
"external_account",
|
809
|
+
"legal_entity.address.city",
|
810
|
+
"tos_acceptance.date",
|
811
|
+
"tos_acceptance.ip"
|
812
|
+
],
|
813
|
+
:additional => [
|
814
|
+
"legal_entity.personal_id_number",
|
815
|
+
"legal_entity.verification.document"
|
816
|
+
]
|
817
|
+
},
|
818
|
+
:company => {
|
819
|
+
:minimum => [
|
820
|
+
"external_account",
|
821
|
+
"legal_entity.address.city",
|
822
|
+
"legal_entity.address.line1",
|
823
|
+
"tos_acceptance.ip"
|
824
|
+
],
|
825
|
+
:additional => [
|
826
|
+
"legal_entity.personal_id_number",
|
827
|
+
"legal_entity.verification.document"
|
828
|
+
]
|
829
|
+
}
|
830
|
+
}
|
831
|
+
}.merge(params)
|
832
|
+
end
|
833
|
+
|
834
|
+
def make_plan(params={})
|
835
|
+
{
|
836
|
+
id: "silver",
|
837
|
+
object: "plan",
|
838
|
+
amount: 1000,
|
839
|
+
created: 1463962497,
|
840
|
+
currency: "usd",
|
841
|
+
interval: "year",
|
842
|
+
interval_count: 1,
|
843
|
+
livemode: false,
|
844
|
+
metadata: {},
|
845
|
+
name: "Silver",
|
846
|
+
statement_descriptor: nil,
|
847
|
+
trial_period_days: nil,
|
848
|
+
}.merge(params)
|
849
|
+
end
|
850
|
+
|
851
|
+
def make_plan_array
|
852
|
+
{
|
853
|
+
:object => "list",
|
854
|
+
:resource_url => "/v1/plans",
|
855
|
+
:data => [
|
856
|
+
make_plan,
|
857
|
+
make_plan,
|
858
|
+
make_plan,
|
859
|
+
]
|
860
|
+
}
|
861
|
+
end
|
862
|
+
|
863
|
+
def make_three_d_secure(params={})
|
864
|
+
{
|
865
|
+
:id => 'tdsrc_test',
|
866
|
+
:object => 'three_d_secure',
|
867
|
+
:amount => 1500,
|
868
|
+
:authenticate => true,
|
869
|
+
:card => make_card,
|
870
|
+
:created => 1456908210,
|
871
|
+
:currency => 'usd',
|
872
|
+
:livemode => false,
|
873
|
+
:redirect_url => nil,
|
874
|
+
:status => 'succeeded',
|
875
|
+
}.merge(params)
|
876
|
+
end
|
877
|
+
|
878
|
+
def make_apple_pay_domain(params={})
|
879
|
+
{
|
880
|
+
:id => "apwc_test_domain",
|
881
|
+
:object => "apple_pay_domain",
|
882
|
+
:domain_name => "test.com",
|
883
|
+
:livemode => false
|
884
|
+
}.merge(params)
|
885
|
+
end
|
886
|
+
|
887
|
+
def make_apple_pay_domain_array
|
888
|
+
{
|
889
|
+
:object => "list",
|
890
|
+
:resource_url => "/v1/apple_pay/domains",
|
891
|
+
:data => [
|
892
|
+
make_apple_pay_domain,
|
893
|
+
make_apple_pay_domain,
|
894
|
+
make_apple_pay_domain
|
895
|
+
]
|
896
|
+
}
|
897
|
+
end
|
898
|
+
|
899
|
+
def make_source_card(params={})
|
900
|
+
id = params[:id] || 'src_test_card'
|
901
|
+
{
|
902
|
+
:id => id,
|
903
|
+
:object => 'source',
|
904
|
+
:type => 'card',
|
905
|
+
:amount => nil,
|
906
|
+
:card => {
|
907
|
+
:address_line1_check => nil,
|
908
|
+
:address_zip_check => nil,
|
909
|
+
:brand => 'Visa',
|
910
|
+
:country => 'US',
|
911
|
+
:cvc_check => 'unchecked',
|
912
|
+
:description => nil,
|
913
|
+
:dynamic_last4 => nil,
|
914
|
+
:exp_month => 1,
|
915
|
+
:exp_year => 2020,
|
916
|
+
:fingerprint => 'NrVafqTONZfbLkQK',
|
917
|
+
:funding => 'credit',
|
918
|
+
:google_reference => nil,
|
919
|
+
:iin => nil,
|
920
|
+
:issuer => nil,
|
921
|
+
:last4 => '4242',
|
922
|
+
:three_d_secure => 'optional',
|
923
|
+
:tokenization_method => 'nil',
|
924
|
+
},
|
925
|
+
:client_secret => 'src_client_secret_test',
|
926
|
+
:created => 1484841032,
|
927
|
+
:currency => nil,
|
928
|
+
:flow => 'none',
|
929
|
+
:livemode => false,
|
930
|
+
:metadata => {},
|
931
|
+
:owner => {
|
932
|
+
:address => nil,
|
933
|
+
:email => nil,
|
934
|
+
:name => nil,
|
935
|
+
:phone => nil,
|
936
|
+
:verified_address => nil,
|
937
|
+
:verified_email => nil,
|
938
|
+
:verified_name => nil,
|
939
|
+
:verified_phone => nil,
|
940
|
+
},
|
941
|
+
:status => 'chargeable',
|
942
|
+
:usage => 'reusable',
|
943
|
+
}.merge(params)
|
944
|
+
end
|
945
|
+
|
946
|
+
def make_source_ach_debit(params={})
|
947
|
+
id = params[:id] || 'src_test_ach_debit'
|
948
|
+
{
|
949
|
+
:id => id,
|
950
|
+
:object => 'source',
|
951
|
+
:type => 'ach_debit',
|
952
|
+
:ach_debit => {
|
953
|
+
:country => 'US',
|
954
|
+
:fingerprint => 'yY5BWKwnW98uydOa',
|
955
|
+
:last4 => '6789',
|
956
|
+
:routing_number => '110000000',
|
957
|
+
:type => 'individual',
|
958
|
+
},
|
959
|
+
:amount => nil,
|
960
|
+
:client_secret => 'src_client_secret_test',
|
961
|
+
:created => 1484842122,
|
962
|
+
:currency => 'usd',
|
963
|
+
:flow => 'verification',
|
964
|
+
:livemode => false,
|
965
|
+
:metadata => {},
|
966
|
+
:owner => {
|
967
|
+
:address => nil,
|
968
|
+
:email => nil,
|
969
|
+
:name => 'Jenny Rosen',
|
970
|
+
:phone => nil,
|
971
|
+
:verified_address => nil,
|
972
|
+
:verified_email => nil,
|
973
|
+
:verified_name => nil,
|
974
|
+
:verified_phone => nil,
|
975
|
+
},
|
976
|
+
:status => 'pending',
|
977
|
+
:usage => 'reusable',
|
978
|
+
:verification => {
|
979
|
+
:attempts_remaining => 10,
|
980
|
+
:status => 'pending',
|
981
|
+
},
|
982
|
+
}.merge(params)
|
983
|
+
end
|
674
984
|
end
|
675
985
|
end
|
data/test/test_helper.rb
CHANGED
@@ -2,7 +2,7 @@ require 'stripe'
|
|
2
2
|
require 'test/unit'
|
3
3
|
require 'mocha/setup'
|
4
4
|
require 'stringio'
|
5
|
-
require 'shoulda'
|
5
|
+
require 'shoulda/context'
|
6
6
|
require File.expand_path('../test_data', __FILE__)
|
7
7
|
|
8
8
|
# monkeypatch request methods
|
@@ -13,6 +13,10 @@ module Stripe
|
|
13
13
|
@mock_rest_client = mock_client
|
14
14
|
end
|
15
15
|
|
16
|
+
class << self
|
17
|
+
remove_method :execute_request
|
18
|
+
end
|
19
|
+
|
16
20
|
def self.execute_request(opts)
|
17
21
|
get_params = (opts[:headers] || {})[:params]
|
18
22
|
post_params = opts[:payload]
|
@@ -31,11 +35,11 @@ class Test::Unit::TestCase
|
|
31
35
|
setup do
|
32
36
|
@mock = mock
|
33
37
|
Stripe.mock_rest_client = @mock
|
34
|
-
Stripe.api_key="foo"
|
38
|
+
Stripe.api_key = "foo"
|
35
39
|
end
|
36
40
|
|
37
41
|
teardown do
|
38
42
|
Stripe.mock_rest_client = nil
|
39
|
-
Stripe.api_key=nil
|
43
|
+
Stripe.api_key = nil
|
40
44
|
end
|
41
45
|
end
|