Stripe webhook event
invoice.payment_failed
An invoice payment attempt failed, usually a declined card on a subscription renewal.
Quick answer
A charge for an invoice is declined, or a Smart Retry attempt fails.
| Event type | invoice.payment_failed |
|---|---|
| Category | Invoices & payments |
| When it fires | A charge for an invoice is declined, or a Smart Retry attempt fails. |
| Recovery-relevant? | Yes, used in failed-payment recovery |
When it fires
A charge for an invoice is declined, or a Smart Retry attempt fails.
What to do with it
Trigger your dunning sequence: email the customer, offer a card update, and let Smart Retries run. This is the core failed-payment recovery event.
This is a payment-recovery event
invoice.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 invoice.payment_failed webhook event mean?
An invoice payment attempt failed, usually a declined card on a subscription renewal.
When does invoice.payment_failed fire?
A charge for an invoice is declined, or a Smart Retry attempt fails.
What should I do when I receive a invoice.payment_failed event?
Trigger your dunning sequence: email the customer, offer a card update, and let Smart Retries run. This is the core failed-payment recovery event.
Related events
Source: official Stripe events documentation.