@@ -216,6 +216,8 @@ def attach_customer_test_cards
216
216
payload = Sinatra ::IndifferentHash [ JSON . parse ( request . body . read ) ]
217
217
end
218
218
219
+ supported_payment_methods = payload [ :supported_payment_methods ] ? payload [ :supported_payment_methods ] . split ( "," ) : nil
220
+
219
221
# Calculate how much to charge the customer
220
222
amount = calculate_price ( payload [ :products ] , payload [ :shipping ] )
221
223
@@ -226,7 +228,7 @@ def attach_customer_test_cards
226
228
:customer => payload [ :customer_id ] || @customer . id ,
227
229
:description => "Example PaymentIntent" ,
228
230
:capture_method => ENV [ 'CAPTURE_METHOD' ] == "manual" ? "manual" : "automatic" ,
229
- payment_method_types : payment_methods_for_country ( payload [ :country ] ) ,
231
+ payment_method_types : supported_payment_methods ? supported_payment_methods : payment_methods_for_country ( payload [ :country ] ) ,
230
232
:metadata => {
231
233
:order_id => '5278735C-1F40-407D-933A-286E463E72D8' ,
232
234
} . merge ( payload [ :metadata ] || { } ) ,
@@ -406,7 +408,7 @@ def payment_methods_for_country(country)
406
408
when 'mx'
407
409
%w[ card oxxo ]
408
410
when 'my'
409
- %w[ card fpx ]
411
+ %w[ card fpx grabpay ]
410
412
when 'nl'
411
413
%w[ card ideal sepa_debit sofort ]
412
414
when 'au'
@@ -424,7 +426,7 @@ def payment_methods_for_country(country)
424
426
when 'at'
425
427
%w[ card paypal sofort eps ]
426
428
when 'sg'
427
- %w[ card alipay ]
429
+ %w[ card alipay grabpay ]
428
430
when 'in'
429
431
%w[ card upi netbanking ]
430
432
else
0 commit comments