#Muhammad Awais
1 messages · Page 1 of 1 (latest)
Do you mean you would like to authorise the payment first, then capture it later?
yes
This is possible if the payment methods such as card support manual capture. You may refer to the guide here to place a hold on the payment: https://stripe.com/docs/payments/place-a-hold-on-a-payment-method
I need to hold $1 initially and then I need to charge full order amount.
What's the best way to handle this senario?
With above method you suggested, I will be able to make hold on $1 but then I won't be able to charge customer full order amount.
?
Why would you want to hold $1?
I want to make sure it's an actual customer before allow them to place an order
If the purpose is to save the payment method, you can save it using SetupIntent that doesn't require holding the payment: https://stripe.com/docs/payments/save-and-reuse
This is the main purpose
I need to hold $1 initially and then I need to charge full order amount.
If this is the case, the recommended steps will be:
- Place the hold with Payment Intent of $1 and save the payment method at the same time:
- Place a hold: https://stripe.com/docs/payments/place-a-hold-on-a-payment-method
- Save a payment method https://stripe.com/docs/payments/save-during-payment
- When you are ready to charge, cancel the Payment Intent with $1 and create the new Payment Intent with final amount on saved payment method
So I need to pass
[
'capture_method' => 'manual',
'setup_future_usage' => 'off_session'
]
while creating the payment intent right?
yup! in addition, you'd need to create customer and set customer ID in customer in Payment Intent creation request in order to use the saved payment method in the future
so guest customer won't work in that case?
yup, guest customer won't work
ok thanks for the help
No problem! Happy to help 😄
If we have a payment method saved for later use, and we try to charge the customer, does that require authentication?
How to deal with that?
When you set off_session: true in the next Payment Intent payment, Stripe will inform the issuer that the customer is not present to perform authentication. Authentication may not be required mostly. However, if the issuer insists on having authentication, you should bring customer back to perform it
So it will throw an error on backend right?
No, it won't throw error. The payment intent status will be in requires_action for you to bring the customer back to complete authentication
ok
Not with an off_session: true payment. It'll transition to requires_payment_method