Using Disable redirect-based payment methods

22 views
Skip to first unread message

Phil McLachlan

unread,
Mar 28, 2025, 3:21:20 AMMar 28
to Stripe API Discussion
Looking at the documentation here: https://docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form&client=react#disable-redirects,
we would like to use disable redirect-based payment method. Does this mean we don't use webhooks?
What are the advantages of using webhooks with disabled redirect-based payment method?
Should we be concerned with handling errors, or is that handled internally by the embedded form?

Thanks.
Phil

Remi J.

unread,
Mar 28, 2025, 3:36:11 AMMar 28
to api-d...@lists.stripe.com
Hello Phil,

This option is used to specifically disable payment methods where the end customer will have to leave your page for a while to approve the payment. For example if a European customer pays with iDEAL, which is common in The Netherlands, they have to be sent to the iDEAL's main page to pick their bank and then to their bank's page/mobile app to see and approve the payment. Once they have done that step, they are redirected back to the URL you configured in the `return_url` parameter where you can check whether the Checkout Session successfully completed or not.

There are a lot of redirect-based payment methods and you can see which ones would be turned off with that setting in this doc [1]. Using that option can be quite limiting if you have a lot of customers outside the US or Canada though it can make sense if most of them pay via card or bank debits for example.

Now for the webhooks part, you should still use them even with that option enabled. One reason is that there are other types of behaviours that you need to take into account such as delayed success notification which we mention here [2]. A common example of those would be bank debits where it takes a few days for the bank to confirm whether the payment succeeded or failed instead of having an immediate success or failure confirmation like with card payments. In that case, you need a webhook handler that will listen for `checkout.session.async_payment_succeeded` (or the .failed version) which we cover in this doc [3].

As for your last question, the error(s) during the redirect would be handled by the embedded component so you don't have to display anything custom to show why the payment failed during the redirect. You might still want to have your own error handler logic for example if you have an orders page where you list each order and include the ones that haven't been paid yet or have been abandoned.

I hope this is crisp enough to unblock you! You might have more follow up questions though and if so I would recommend joining our Discord server [4] where Stripe developers can help answer all those questions in real time! You can also contact our support team directly [5].

Best,
Remi


To unsubscribe from this group and stop receiving emails from it, send an email to api-discuss...@lists.stripe.com.

Phil McLachlan

unread,
Mar 28, 2025, 1:26:04 PMMar 28
to Stripe API Discussion, re...@stripe.com
Thanks!  I have some followup questions that I posted to the Stripe Discord channel.
Reply all
Reply to author
Forward
0 new messages