Stripe webhook event
charge.failed
A charge attempt failed.
Quick answer
A payment is declined.
| Event type | charge.failed |
|---|---|
| Category | Charges & disputes |
| When it fires | A payment is declined. |
| Recovery-relevant? | Yes, used in failed-payment recovery |
When it fires
A payment is declined.
What to do with it
For subscriptions, handle recovery via invoice.payment_failed; this fires for the underlying charge.
This is a payment-recovery event
charge.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 charge.failed webhook event mean?
A charge attempt failed.
When does charge.failed fire?
A payment is declined.
What should I do when I receive a charge.failed event?
For subscriptions, handle recovery via invoice.payment_failed; this fires for the underlying charge.
Related events
Source: official Stripe events documentation.