@@ -216,6 +216,8 @@ def attach_customer_test_cards
216216 payload = Sinatra ::IndifferentHash [ JSON . parse ( request . body . read ) ]
217217 end
218218
219+ supported_payment_methods = payload [ :supported_payment_methods ] ? payload [ :supported_payment_methods ] . split ( "," ) : nil
220+
219221 # Calculate how much to charge the customer
220222 amount = calculate_price ( payload [ :products ] , payload [ :shipping ] )
221223
@@ -226,7 +228,7 @@ def attach_customer_test_cards
226228 :customer => payload [ :customer_id ] || @customer . id ,
227229 :description => "Example PaymentIntent" ,
228230 :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 ] ) ,
230232 :metadata => {
231233 :order_id => '5278735C-1F40-407D-933A-286E463E72D8' ,
232234 } . merge ( payload [ :metadata ] || { } ) ,
@@ -406,7 +408,7 @@ def payment_methods_for_country(country)
406408 when 'mx'
407409 %w[ card oxxo ]
408410 when 'my'
409- %w[ card fpx ]
411+ %w[ card fpx grabpay ]
410412 when 'nl'
411413 %w[ card ideal sepa_debit sofort ]
412414 when 'au'
@@ -424,7 +426,7 @@ def payment_methods_for_country(country)
424426 when 'at'
425427 %w[ card paypal sofort eps ]
426428 when 'sg'
427- %w[ card alipay ]
429+ %w[ card alipay grabpay ]
428430 when 'in'
429431 %w[ card upi netbanking ]
430432 else
0 commit comments