Skip to content
This repository was archived by the owner on Feb 27, 2023. It is now read-only.

Commit 559dd67

Browse files
Support custom payment_method_types from the client, add grabpay (#96)
* create PaymentIntent with payment_method_types passed by client * Add grabpay to SG and MY country<>payment_method_type config
1 parent c456674 commit 559dd67

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

web.rb

+5-3
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)