Stripe webhook event
checkout.session.async_payment_failed
A delayed payment method on a Checkout session failed.
Quick answer
An async payment (e.g. bank debit) fails after Checkout.
| Event type | checkout.session.async_payment_failed |
|---|---|
| Category | Payment Intents & Checkout |
| When it fires | An async payment (e.g. bank debit) fails after Checkout. |
| Recovery-relevant? | Yes, used in failed-payment recovery |
When it fires
An async payment (e.g. bank debit) fails after Checkout.
What to do with it
Notify the customer and prompt them to use a different method.
This is a payment-recovery event
checkout.session.async_payment_failed is part of the failed-payment lifecycle. Handling it well, with retries, branded emails, a card update page, and stop-on-success, is what recovers the ~9% of MRR most SaaS lose to failed payments. See how to recover failed Stripe payments or skip the build with SubRevival.
Stop building webhook handlers
SubRevival consumes the failed-payment events for you and runs the full recovery stack, no endpoint to build, secure, or maintain. 5-minute Stripe OAuth, $19/mo flat.
Start Recovering RevenueFAQ
What does the Stripe checkout.session.async_payment_failed webhook event mean?
A delayed payment method on a Checkout session failed.
When does checkout.session.async_payment_failed fire?
An async payment (e.g. bank debit) fails after Checkout.
What should I do when I receive a checkout.session.async_payment_failed event?
Notify the customer and prompt them to use a different method.
Related events
Source: official Stripe events documentation.