Skip to content

The Recovery Ledger · 2026-07-26 · 6 min

What happens when a subscription payment fails on Stripe

When a subscription charge fails on Stripe, a lot happens automatically behind the scenes, and a few important things don't happen unless you set them up. Understanding the sequence is the difference between passively losing customers to failed payments and actively recovering them. Here's what actually occurs, step by step, and where the gaps are.

1. The charge fails and gets a decline reason

The customer's bank declines the charge and returns a decline code, insufficient funds, expired card, card declined, and so on. Stripe records the failed payment and the reason. This decline reason matters: some (like an expired card) need the customer to act, while others (a temporary hold) might clear on a retry. The invoice moves to a past-due state.

2. Stripe's Smart Retries kick in

Stripe automatically re-attempts the failed charge on a schedule its system thinks is optimal, this is Smart Retries. Some payments recover here on their own, particularly temporary declines. This is genuinely useful and requires no work from you. But retries only re-run the same charge; they don't communicate with the customer or fix a problem that needs the customer to update a card.

3. What Stripe does and doesn't tell the customer

By default, whether the customer hears anything depends on your settings. Stripe can send some emails, but out of the box, many failed payments happen silently: the customer never clearly learns their card failed, so they never fix it. This is the biggest gap, a customer who would happily update their card never gets a clear, compelling prompt to do so.

4. The subscription lapses, unless something intervenes

If the retries don't succeed and the customer doesn't update their payment method, the invoice stays unpaid and, per your settings, the subscription eventually becomes past-due or is canceled. At that point you've lost a customer who, in most cases, never chose to leave. Everything up to this moment was recoverable; after it, you're doing harder win-back.

Where recovery fits, on top of Stripe

Stripe handles the mechanics, decline codes, retries, subscription state, well. What it doesn't do by default is run the human-facing recovery layer: warning customers before an expiring card fails, sending a clear, well-timed email sequence that makes updating a card effortless, and giving you an honest ledger of what was actually recovered. That's the layer Recoupe adds on top of Stripe, and it only credits a recovery when the customer acted on a Recoupe email, so retries Stripe would have caught anyway are credited to Stripe.

Want to see how many failed payments are silently lapsing in your Stripe account, and how much of it is recoverable? A free 90-day audit walks your real data.

Run a free audit

Recoupe recovers the revenue your processor's retries leave behind $29/mo, honest attribution.

Run my free failed-payment audit →