Stripe webhook event
payment_intent.payment_failed
A PaymentIntent failed to complete.
Quick answer
A payment attempt on a PaymentIntent is declined.
| Event type | payment_intent.payment_failed |
|---|---|
| Category | Payment Intents & Checkout |
| When it fires | A payment attempt on a PaymentIntent is declined. |
| Recovery-relevant? | Yes, used in failed-payment recovery |
When it fires
A payment attempt on a PaymentIntent is declined.
What to do with it
Surface the decline reason and prompt the customer to retry with a different method.
This is a payment-recovery event
payment_intent.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 payment_intent.payment_failed webhook event mean?
A PaymentIntent failed to complete.
When does payment_intent.payment_failed fire?
A payment attempt on a PaymentIntent is declined.
What should I do when I receive a payment_intent.payment_failed event?
Surface the decline reason and prompt the customer to retry with a different method.
Related events
Source: official Stripe events documentation.