@@ -55,9 +55,10 @@ def log_info(message)
55
55
payload [ :amount ] ,
56
56
payload [ :source ] ,
57
57
payload [ :payment_method ] ,
58
+ payload [ :payment_method_types ] || [ 'card' ] ,
58
59
payload [ :customer_id ] || @customer . id ,
59
60
payload [ :metadata ] ,
60
- 'usd' ,
61
+ payload [ :currency ] || 'usd' ,
61
62
payload [ :shipping ] ,
62
63
payload [ :return_url ] ,
63
64
)
@@ -148,7 +149,7 @@ def create_customer
148
149
end
149
150
begin
150
151
setup_intent = Stripe ::SetupIntent . create ( {
151
- payment_method_types : [ 'card' ] ,
152
+ payment_method_types : payload [ :payment_method_types ] || [ 'card' ] ,
152
153
payment_method : payload [ :payment_method ] ,
153
154
return_url : payload [ :return_url ] ,
154
155
confirm : payload [ :payment_method ] != nil ,
@@ -183,6 +184,7 @@ def create_customer
183
184
params [ :amount ] ,
184
185
nil ,
185
186
nil ,
187
+ params [ :payment_method_types ] || [ 'card' ] ,
186
188
nil ,
187
189
params [ :metadata ] ,
188
190
params [ :currency ] ,
@@ -226,6 +228,7 @@ def create_customer
226
228
source . amount ,
227
229
source . id ,
228
230
nil ,
231
+ [ 'card' ] ,
229
232
source . metadata [ "customer" ] ,
230
233
source . metadata ,
231
234
source . currency ,
@@ -244,15 +247,15 @@ def create_customer
244
247
status 200
245
248
end
246
249
247
- def create_payment_intent ( amount , source_id , payment_method_id , customer_id = nil ,
250
+ def create_payment_intent ( amount , source_id , payment_method_id , payment_method_types = [ 'card' ] , customer_id = nil ,
248
251
metadata = { } , currency = 'usd' , shipping = nil , return_url = nil , confirm = false )
249
252
return Stripe ::PaymentIntent . create (
250
253
:amount => amount ,
251
254
:currency => currency || 'usd' ,
252
255
:customer => customer_id ,
253
256
:source => source_id ,
254
257
:payment_method => payment_method_id ,
255
- :payment_method_types => [ 'card' ] ,
258
+ :payment_method_types => payment_method_types ,
256
259
:description => "Example PaymentIntent" ,
257
260
:shipping => shipping ,
258
261
:return_url => return_url ,
@@ -266,8 +269,9 @@ def create_payment_intent(amount, source_id, payment_method_id, customer_id = ni
266
269
)
267
270
end
268
271
269
- def create_and_capture_payment_intent ( amount , source_id , payment_method_id , customer_id = nil ,
270
- metadata = { } , currency = 'usd' , shipping = nil , return_url = nil )
271
- return create_payment_intent ( amount , source_id , payment_method_id , customer_id ,
272
- metadata , currency , shipping , return_url , true )
272
+ def create_and_capture_payment_intent ( amount , source_id , payment_method_id , payment_method_types = [ 'card' ] ,
273
+ customer_id = nil , metadata = { } , currency = 'usd' , shipping = nil ,
274
+ return_url = nil )
275
+ return create_payment_intent ( amount , source_id , payment_method_id , payment_method_types ,
276
+ customer_id , metadata , currency , shipping , return_url , true )
273
277
end
0 commit comments