Stripe webhook event
customer.subscription.deleted
A subscription was canceled, voluntarily or after failed payments.
Quick answer
A subscription ends, including auto-cancellation after dunning fails.
| Event type | customer.subscription.deleted |
|---|---|
| Category | Subscriptions |
| When it fires | A subscription ends, including auto-cancellation after dunning fails. |
| Recovery-relevant? | Yes, used in failed-payment recovery |
When it fires
A subscription ends, including auto-cancellation after dunning fails.
What to do with it
Distinguish voluntary cancels from involuntary (failed-payment) ones; the latter are recoverable with a win-back.
This is a payment-recovery event
customer.subscription.deleted 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 customer.subscription.deleted webhook event mean?
A subscription was canceled, voluntarily or after failed payments.
When does customer.subscription.deleted fire?
A subscription ends, including auto-cancellation after dunning fails.
What should I do when I receive a customer.subscription.deleted event?
Distinguish voluntary cancels from involuntary (failed-payment) ones; the latter are recoverable with a win-back.
Related events
Source: official Stripe events documentation.