North Metric

    How to Recover Failed Payments in Stripe: A Step-by-Step Guide.

    The Stripe settings to turn on, in order, and the follow-up Stripe can't do for you.

    Riyad YahyaCo-founder & CTO · Nov 14, 2026
    FAILED PAYMENTS · 7 MIN READ
    IN SHORT

    To recover failed payments in Stripe, keep Smart Retries on, choose what happens after the last retry, turn on Stripe's emails for failed payments and expiring cards, and let automatic card updates run. Stripe won't retry hard declines or customers with no card, so ask those customers for a new card the same day, and follow up on anything still unpaid when the retries end.

    Most failed subscription payments on Stripe can be recovered with settings you already have: Smart Retries, Stripe's emails for failed payments and expiring cards, and automatic card updates. What those settings can't do is retry a hard decline or a customer with no card on file, so the last step is a follow-up from you. This guide walks through each setting in the order to turn them on.

    Why do Stripe subscription payments fail?

    Every failed charge carries a decline code from the customer's bank. They fall into two groups. Soft declines, such as insufficient_funds or do_not_honor, can clear on a later attempt. Hard declines, such as lost_card, stolen_card or incorrect_number, won't clear until the customer gives you a new card. The third case is a subscription with no payment method at all, common after a free trial that never collected a card.

    Recurring charges also happen without the customer present, so a bank that wants extra authentication can't get it. That shows up as authentication_required, which Stripe treats as a hard decline. Our guide to Stripe decline codes covers each code and what to do next.

    Step 1: Keep Smart Retries on and pick the window

    In the Stripe Dashboard, go to Billing → Revenue recovery → Retries. Smart Retries uses Stripe's model to choose when to retry each failed payment. New Stripe accounts have it on by default, set to up to 8 retries within 2 weeks, and you can choose a window of 1 week, 2 weeks, 3 weeks, 1 month or 2 months. If you prefer fixed days, a custom schedule allows up to three retries, each a set number of days after the last.

    Stripe doesn't retry when there is no payment method, when the bank returns a hard decline, when the card is India-issued, or when a Connect account has been disconnected. For hard declines the scheduled retries still appear, but they only run once a new payment method is added.

    Step 2: Decide what happens after the last retry

    On the same page, choose what Stripe does when every retry has failed. This is the setting most teams never look at, and it decides whether the customer still has an account to come back to.

    SettingWhat happensUse it when
    Cancel the subscriptionThe subscription becomes canceled. Collection stops on its unpaid invoices.You'd rather start a new subscription if they return
    Mark as unpaidThe subscription stays in place, invoices keep being created as drafts, and Stripe stops trying to charge.You want to keep the account and cut access until they pay
    Leave past dueThe subscription stays past_due and new invoices keep being charged under your retry settings.Short gaps where you expect the customer to fix the card
    Pause the subscriptionIf eligible, the subscription pauses and Stripe stops creating invoices until it resumes.You want a clean restart instead of a backlog of invoices
    Stripe docs, checked Nov 14, 2026.

    Our guide to Stripe subscription statuses explains what past_due, unpaid and canceled mean for access.

    Step 3: Turn on Stripe's customer emails

    Under Revenue recovery → Emails and the subscription email settings, turn on two emails:

    • Send emails when card payments fail. Stripe emails the customer after each failed payment, with a link to update the payment method.
    • Send emails about expiring cards. Stripe emails the customer 1 month before the default card on file expires.

    The link can open a Stripe-hosted page or your own billing page. On the Stripe-hosted page the customer updates the card and pays what's due. Stripe stops honouring that link once the subscription is canceled, unpaid or incomplete_expired, so these emails matter most early.

    Step 4: Let automatic card updates work

    Stripe works with the card networks to update saved cards when a bank reissues them, for example after an expiry or a lost card. Support is widest in the United States, where most American Express, Visa, Mastercard and Discover cards can be updated; elsewhere it varies by country, and there is no way to tell in advance which cards are covered. There is nothing to build: listen for the payment_method.automatically_updated event if you want to see it happen.

    Step 5: Ask for a new card at once on hard declines

    Listen for the invoice.payment_failed webhook. Its attempt_count tells you how many tries have run. When the decline is hard, or there is no payment method, waiting for retries only uses up the window: nothing will run until the customer adds a card. Send a short, personal note the same day with a link to update it.

    Step 6: Follow up when the retries end, highest MRR first

    When Stripe's retries end and an invoice is still unpaid, rank what is left by the monthly revenue at risk and start at the top. A short note from a person gets a different response than another automated email.

    • Name the plan and what stops working, and when.
    • Give one link to update the card, and nothing else to do.
    • Send it from a real person on your own domain.
    • Don't send it while Stripe is still retrying, or the customer gets two messages.

    See money at risk in your own Stripe, and the first five customers to act on.

    Get your free churn reportActions off until you turn them on

    How to test failed payments in Stripe test mode

    Use the test card 4000 0000 0000 0341, which Stripe lists as "Decline after attaching": it attaches to the customer, then every charge fails. Create a subscription with it, advance the billing period with a test clock, and check that your emails, webhook handling and final-retry setting behave as you expect. For specific codes, 4000 0000 0000 9995 declines with insufficient_funds and 4000 0000 0000 0002 with generic_decline.

    Where North Metric fits

    North Metric doesn't retry cards or send dunning sequences; keep Stripe doing that. It reads your Stripe account, drafts the personal note for hard declines and missing cards on day 0, drafts one for each invoice still unpaid when Stripe's retries end, and ranks them by revenue at risk. You approve each note before it goes. A payment counts as recovered only if it is paid within 30 days of that note, so Stripe's own recoveries are never counted twice. See failed payment recovery.

    Sources

    Frequently asked questions

    Does Stripe automatically update expired cards?

    Yes, for many cards. Stripe works with the card networks to update saved cards when the bank reissues them. Support is widest in the US, covering most American Express, Visa, Mastercard and Discover cards; elsewhere it varies by country, and you can't tell in advance which cards are covered (Stripe docs, checked Nov 14, 2026).

    How many times should I retry a failed subscription payment?

    Stripe's default for new accounts is up to 8 retries within 2 weeks, with Smart Retries choosing the times. You can set the window from 1 week to 2 months, or use a custom schedule of up to three retries (Stripe docs, checked Nov 14, 2026).

    Are Stripe Smart Retries enough to recover failed payments?

    For soft declines they do most of the work. They don't run on hard declines such as lost_card or stolen_card, or when there's no payment method, until the customer adds a new card. After the final attempt Stripe makes no more attempts, so those customers need a follow-up from you.

    Should I cancel a subscription after a failed payment?

    Not straight away. Stripe lets you cancel, mark the subscription unpaid, leave it past due, or pause it once retries end. Marking it unpaid or pausing keeps the account so the customer can come back without starting over.

    How do I prioritize failed payments?

    Start with hard declines and missing cards, because Stripe won't retry them. Then, when retries end, rank the unpaid invoices by the monthly revenue at risk and contact the largest first.

    Free churn report0% readGet your free churn report →

    Keep reading

    All notes →
    Dunning tools for Stripe
    FAILED PAYMENTS·NOTE·9 MIN READ

    Best dunning and failed payment recovery tools for Stripe (2026)

    Stripe's built-in recovery and the tools people add to it, with dated prices and what each one is best at.
    From active to past_due and beyondunpaidactivepast_due
    FAILED PAYMENTS·NOTE·8 MIN READ

    Stripe subscription statuses explained

    What trialing, active, incomplete, past_due, unpaid, canceled and paused mean, and when to cut access.
    Share of total churn that is involuntary20–40%Failed paymentsCancellations
    FAILED PAYMENTS·NOTE·8 MIN READ

    The real cost of failed payments in SaaS

    How large the loss from failed payments usually is, how much of it can be recovered, and the retry windows that recover the most revenue.
    THE MONTHLY NOTE

    One email a month.Only what moved MRR.

    Churn and retention notes, no fluff · unsubscribe any time