Updated June 2026 ยท Step-by-step guide

How to Recover Failed Stripe Payments

Most SaaS businesses recover under 30% of failed payments. This is the full 2026 playbook to get to 57%: decline codes, Smart Retries, pre-dunning, a timed email sequence, win-back, and the dollar math.

Recover Failed Payments NowBy the SubRevival team ยท 14 min read
0%None25%Retries42%+Emails57%FullRecovery rate

A failed payment is not a customer leaving. It is a card that expired, a bank that got nervous, or an account that was $20 short on the first of the month. The customer still wants your product. The revenue is sitting there, recoverable, if you actually go and get it.

Most teams do not. They lean on Stripe's default retries, recover 20-30%, and quietly write off the rest as churn. According to Baremetrics, involuntary churn from failed payments accounts for 20-40% of total churn at most SaaS companies, and roughly 9% of MRR is at risk every single month. At $20K MRR that is $1,800 walking out the door, not because anyone cancelled, but because nobody followed up.

This guide is the complete system to fix that. We go deeper than the usual four-step listicle: a decline-code reference so you treat each failure correctly, pre-dunning to stop failures before they happen, a worked dollar-by-dollar recovery model at three MRR levels, the EU-specific SCA/3DS trap nobody covers, and an honest comparison of what you can automate versus what you would have to build. Stripe's own data shows businesses using a full recovery stack reclaim an average of 57% of failed recurring payments. Here is how to get there.

~9%

of MRR lost monthly

Industry average for SaaS involuntary churn

57%

recoverable

Retries + dunning emails + card update page

<4 hrs

to first email

Speed is the single biggest recovery lever

The one-sentence version

Enable free Smart Retries, prevent failures with pre-dunning, then send a fast branded email sequence to a self-serve card update page, and segment soft declines from hard ones. That stack is the difference between 25% and 57%.

The problem

Why Stripe payments fail: 5 failure types

You cannot recover a failure you do not understand. Failures split into two families: soft declines (temporary, often clear on a retry) and hard declines (the card is dead or blocked, only the customer can fix it). Treating them the same is the most common mistake in payment recovery.

๐Ÿ“…Hard decline

Expired card

The single most common cause. Cards expire every 2-3 years and customers almost never update proactively. The renewal charge fires against a card that no longer exists. Retries will never fix this; only customer action will.

๐Ÿ’ณSoft decline

Insufficient funds

The account lacks balance at the exact moment of the charge. Timing matters: charges on the 1st hit before payday far more than charges on the 15th. Often resolves on a retry a few days later.

๐ŸฆSoft decline

Bank decline (do_not_honor)

The issuing bank blocks the charge without a stated reason. Could be a fraud model, a freshly issued card not yet activated for online use, or an international flag. A retry on better-timed days often clears it.

๐Ÿ”’Hard decline

Fraud / lost-stolen flag

The issuer's fraud system flagged the transaction, sometimes on a perfectly legitimate charge. Retrying the same card is futile and can compound the flag. The fix is a new payment method from the customer.

๐ŸŒHard decline

SCA / 3DS authentication required

EU and UK cards under PSD2 may require Strong Customer Authentication. The charge fails until the customer completes a 3D Secure challenge. Recovery means routing them to an authenticated confirmation, not a blind retry.

โš ๏ธ Don't retry hard declines

Retrying an expired, stolen, or fraud-flagged card just burns retry attempts and can hurt your sender reputation with the issuer. Hard declines need a message, not a retry.

Reference

Stripe decline code reference table

Stripe returns a decline code on every failed charge. The code tells you exactly how to respond. Here are the eight you will see most, what they mean, and the right recovery move for each.

Decline codeWhat it meansCustomer actionYour recovery approachType
insufficient_fundsAccount lacks the balance to cover the charge.Wait for funds or use another card.Retry on smart timing (post-payday). Highest soft-decline recovery rate.soft
expired_cardThe card is past its expiration date.Update to a current card.Skip retries. Trigger dunning email + card update page immediately.hard
card_declined (generic_decline)Bank declined without a specific reason.Contact bank or try another card.One or two timed retries, then escalate to dunning email.soft
do_not_honorGeneric issuer block, no reason supplied.Contact bank or retry later.Smart Retries often clears it within the retry window.soft
incorrect_cvcThe CVC security code did not match.Re-enter card details correctly.Send straight to a card update page; retries will keep failing.hard
processing_errorA temporary issuer or network error.None; transient.Automatic retry shortly after. Usually self-resolves.soft
lost_card / stolen_cardCard reported lost or stolen.Add a different payment method.Never retry. Dunning email asking for a new card only.hard
authentication_requiredSCA / 3D Secure challenge needed (EU/UK).Complete the bank's authentication step.Route to an authenticated confirmation flow, not a silent retry.hard

The foundation

What modern recovery looks like vs the old way

"Failed payment recovery" used to mean a single automated email and Stripe's fixed retry schedule. Modern recovery is a system: detection, prevention, timed outreach, self-serve resolution, and segmentation. The gap between the two approaches is worth roughly double the recovery rate.

DimensionOld wayModern recovery
Failure detectionNotice when MRR dips in reportingReal-time webhook on every failed charge
Retry logicFixed schedule (e.g. every 3 days)ML-timed Smart Retries on issuer signals
Customer outreachOne generic Stripe email, if anyBranded Day 1 / Day 3 / Day 7 sequence
Card updateEmail support to change a cardSelf-serve hosted page with instant retry
PreventionNone; you wait for failuresPre-dunning reminders before expiry
Hard vs soft declinesTreated identicallySegmented: retry soft, message hard
Post-sequenceAuto-cancel and lose the customerPause, then 30-day win-back
Recovery rate~20-30% (retries only)~57% (full stack)

Watch

Stripe Billing and revenue recovery, explained

Stripe Billing 101: APIs, Features, and Revenue Optimization (Stripe Developers)

Step 1

Configure Stripe Smart Retries

Smart Retriesis Stripe's ML-powered retry engine, trained on billions of transactions across the network. Instead of retrying on a fixed timer, it picks the moment most likely to succeed for each card. It is free, built into Stripe Billing, and the first thing you should turn on.

Enable it in the Stripe Dashboard

  1. 1.Open Settings in your Stripe Dashboard.
  2. 2.Go to Billing > Revenue recovery > Retries.
  3. 3.Enable Smart Retries and set your retry window (up to four attempts over 7-14 days).
  4. 4.Choose the end-of-window behavior: pause is safer than auto-cancel.
  5. 5.Save. Smart Retries now runs on every new failure automatically.

What it recovers

Roughly 20-30% of failures on its own, the soft declines: a brief insufficient-funds dip, a transient bank flag, a processing error. Free and zero maintenance.

Its hard limit

It never contacts the customer. An expired card will fail every single retry. Smart Retries cannot recover anything that requires the customer to act, which is most of your hard declines.

Step 2

Pre-dunning: stop failures before they happen

The cheapest failure to recover is the one that never occurs. Pre-dunning means reaching out before a charge fails, prompting customers to fix a soon-to-expire or already-dead card ahead of renewal. Done well, it prevents 20-30% of future failures at the source, and it is the layer most guides skip entirely.

30 days before expiry

Card expiry reminder

Stripe knows each card's expiration date. Thirty days out, email customers whose card will expire before their next renewal with a one-click link to update. This catches the single biggest cause of involuntary churn before it ever fires.

7 days before expiry

Final expiry nudge

A short follow-up for anyone who ignored the first reminder. Urgency rises as the renewal date approaches; this second touch meaningfully lifts the update rate.

3 days before trial ends

Trial-ending reminder

Show the plan and price they will be charged, plus a link to verify their card. Customers who do not intend to continue can cancel cleanly; the rest confirm a working card before the first real charge.

7 days before annual renewal

Annual renewal reminder

Annual charges are large and hit cards that may have changed in the past year. A heads-up gives customers time to update before a big, easy-to-fail charge attempts.

Stat worth internalizing: pre-dunning expiry reminders can prevent 20-30% of failures outright. That is recovery you never have to pay an email sequence to chase.

Step 3

The dunning email sequence (Day 1, 3, 7)

This is where the bulk of recoverable revenue lives. A single email recovers around 15% of failures; a timed three-email sequence recovers 35-45%. And timing dominates: send the first email within hours, not days. Recovery sent within the first hour materially outperforms, and waiting past 24 hours can cut recovery by ~15%.

Day 1

Your payment didn't go through

Fire within 4 hours of the failure, ideally sooner. Direct and calm: the payment failed, here is the one-click fix. A single call-to-action to update the card. Branded as you, not a generic Stripe notice.

Day 3

Reminder: your payment is still pending

For customers who missed or postponed the first email. Slightly more urgent, same card-update link. This catches the busy, not the unwilling, and it is responsible for a large slice of total recovery.

Day 7

Final notice: your subscription is at risk

The last touch before the subscription lapses. Make the consequence concrete: access will be affected. Annual subscribers especially act here to avoid losing a year of access.

What separates a dunning email that converts

Branded with your logo and colors, not a Stripe template
Sent from your own authenticated domain (SPF + DKIM)
Subject line that plainly states a payment issue exists
Exactly one call-to-action: update card
Mobile-first so customers fix it from their phone
Soft, human tone, not a threatening collections notice

Want the exact copy and cadence? See dunning email sequence best practices.

Step 4

The card update page that actually converts

Every email links here, and this page is where intent becomes recovered revenue. A clunky update flow leaks all the recovery your emails earned. Three things separate a page that converts from one that does not.

Secure, Stripe-native form

Use Stripe Elements or a Stripe-hosted form. The update must feel as secure as the original checkout, never a plain HTML card field.

Show what's at stake

Display the plan, price, and renewal date. A customer who sees exactly what they are keeping is more likely to finish the update.

Instant retry on save

The moment they save a new card, trigger the charge immediately. Do not make them wait for Stripe's next retry window; instant success confirms it worked.

Why self-serve is non-negotiable: if updating a card means emailing your support team, most customers simply will not bother. A direct link to a secure form removes every step between "I'll pay" and the recovered charge.

Step 5

Post-sequence: pause, don't cancel, then win back

What you do when the sequence ends without recovery matters as much as the sequence itself. The default, auto-cancellation, throws away a recoverable relationship. Do this instead.

Pause instead of hard-cancel

A paused subscription keeps the customer's history, settings, and data intact. Reactivating a pause is a single click; resurrecting a hard cancellation means a full re-signup. Always prefer pause as the end-of-sequence state.

Run a 30-day win-back

After the sequence, wait, then re-engage with a different angle: what they are missing, a short reactivation offer, or simply a friendly check-in. Win-back at day 30-45 recovers a meaningful tail of customers who were just busy or between cards.

Segment high-value accounts

For your highest-LTV customers, a paused account is worth a personal email or even a call. Tiered effort by customer value is how the best teams squeeze the last few points of recovery.

The numbers

The recovery math, worked out

Abstractions do not move decisions; dollars do. Take a $20K MRR SaaS with a typical 9% monthly failure rate. That is $1,800 at risk every month. Stripe retries alone recover ~25% ($450). The full stack recovers ~57%, which is $1,026 back every month, or about $12,300 a year. Here is the same math at three MRR levels.

MRRAt risk / mo (9%)Recovered / mo (57%)Recovered / yr
$5,000$450$256~$3,078
$20,000$1,800$1,026~$12,312
$100,000$9,000$5,130~$61,560

Against numbers like these, a $19/mo recovery tool pays for itself on the first recovered payment. The question is not whether recovery is worth it; it is how much you are leaving on the table by not doing it.

Recover your share of that 57% in 5 minutes.

SubRevival runs Smart Retries compatibility, pre-dunning, the Day 1/3/7 sequence, and a hosted card update page automatically. $19/mo flat, no revenue share.

Start Recovering Failed Payments$19/mo flat. 5-minute Stripe OAuth. No code.

The shortlist

10 tools to recover failed Stripe payments

You can build all five steps in-house, or use a tool that ships them on day one. These are the ten worth knowing, ranked for Stripe-native SaaS. We rank on price-to-value, setup friction, and how much of the full stack each one actually delivers, not just feature count.

1

SubRevival

โ˜… Best for Flat-rate Stripe dunning for small-to-mid SaaS โ˜…

SubRevival is purpose-built for one job: recover failed Stripe payments without taking a cut of your revenue. Connect via Stripe OAuth in five minutes and a full Day 1/3/7 sequence, hosted card update page, and proactive reminders go live with no code.

Key features

5-minute Stripe OAuth, no API keys
Branded Day 1/3/7 email sequence
Hosted card update page with instant retry
Trial-ending and annual-renewal reminders
Custom sending domain (SPF + DKIM)
Real-time recovery dashboard
Flat pricing, no revenue share
21-day money-back guarantee

Pros

  • Lowest entry price of any full dunning stack ($19/mo flat)
  • Cost never scales with your MRR or recovery volume
  • No developer, SDK, or webhook configuration required

Cons

  • Stripe-only by design (not multi-processor)
  • Not a full cancel-flow / deflection platform

Why it ranks here

It delivers the same core recovery layers as tools costing 5-10x more, at a flat rate that does not punish you for growing. For Stripe-native SaaS under ~$200K MRR, the math is hard to beat.

Every other tool either takes a percentage of what you recover or charges more as your MRR grows. SubRevival charges $19 and stays there.
๐Ÿ’ฐ $19/mo flatConnect Stripe in 5 min
2

Churnkey โ†—

โ˜… Best for Cancel-flow + recovery for funded scale-ups โ˜…

Churnkey pairs failed-payment recovery with a sophisticated cancel-flow builder that intercepts customers before they churn voluntarily. It is the most feature-complete platform on this list, with a price tag to match.

Key features

Precision dunning with ML retry timing
Cancel-flow deflection (pause, discount)
Reactivation and win-back campaigns
Segmented messaging by customer value
Multi-processor support
Deep analytics and cohort reporting
SDK for in-app flows
Enterprise onboarding

Pros

  • Best-in-class cancel-flow deflection
  • Handles both voluntary and involuntary churn
  • Strong analytics for larger teams

Cons

  • Entry pricing hard to justify under ~$30K MRR
  • Cancel flows require an SDK integration

Why it ranks here

If voluntary churn (active cancellations) is as big a problem as failed payments, Churnkey covers both in one platform. That breadth is its edge over single-purpose recovery tools.

Churnkey is the right call when failed payments are only half your churn problem and you have the budget to solve both at once.
๐Ÿ’ฐ Custom (from ~$199/mo)
3

Stunning โ†—

โ˜… Best for Established Stripe-native dunning โ˜…

Stunning is one of the oldest dedicated Stripe dunning tools. It does branded email sequences and a card update page well, but its pricing scales with your MRR, so the bill grows as you do.

Key features

Branded failed-payment emails
Hosted card update pages
Pre-dunning expiry reminders
Stripe-native integration
Email scheduling controls
Basic recovery reporting
Webhook configuration
Established track record

Pros

  • Mature, battle-tested product
  • Solid Stripe-native feature set
  • Good pre-dunning support

Cons

  • MRR-scaled pricing grows as you grow
  • Setup involves webhook configuration

Why it ranks here

Stunning earns its place on reputation and a complete Stripe feature set. The trade-off is the pricing model, which is why many teams compare it head-to-head with flat-rate options.

A dependable choice if MRR-scaled pricing does not bother you; worth weighing against flat-rate alternatives once you cross five figures.
๐Ÿ’ฐ From ~$50/mo, MRR-scaled
4

Churn Buster โ†—

โ˜… Best for High-volume DTC and subscription commerce โ˜…

Churn Buster built its reputation in high-volume ecommerce and subscription DTC. It is strong on deliverability and multi-channel recovery, and supports both Stripe and Recharge.

Key features

Multi-channel recovery (email + SMS)
Deliverability-focused sending
Stripe and Recharge support
Customer-friendly messaging
Retry schedule optimization
A/B testing on flows
Reporting dashboard
Concierge onboarding

Pros

  • Excellent for high transaction volumes
  • Multi-channel (SMS) recovery
  • Strong deliverability engineering

Cons

  • Pricing aimed at larger merchants
  • More than small SaaS typically needs

Why it ranks here

At high order volume, small percentage gains in recovery translate to large dollars, and Churn Buster is engineered for exactly that scale.

Built for merchants where a 1% deliverability improvement is real money, not a rounding error.
๐Ÿ’ฐ From ~$99/mo
5

Baremetrics Recover โ†—

โ˜… Best for Teams already living in Baremetrics analytics โ˜…

Recover is the dunning add-on to Baremetrics' analytics suite. If you already use Baremetrics for MRR reporting, bolting on recovery keeps everything in one dashboard.

Key features

Native to Baremetrics analytics
Automated dunning emails
Customizable email timing
Unified MRR + recovery view
Stripe integration
Churn reporting built in
Reactivation tracking
Single login for metrics + recovery

Pros

  • Zero context-switching if you use Baremetrics
  • Recovery sits next to your churn metrics
  • Trusted analytics brand

Cons

  • Requires a paid Baremetrics base plan
  • Recovery is an add-on, not standalone

Why it ranks here

The value is consolidation: one tool for metrics and recovery. If you are not already a Baremetrics customer, the bundled cost is harder to justify.

Makes the most sense as an add-on for existing Baremetrics users, not as a reason to switch analytics.
๐Ÿ’ฐ Add-on to Baremetrics
6

Stripe Smart Retries โ†—

โ˜… Best for A free baseline retry layer everyone should enable โ˜…

Smart Retries is Stripe's own ML-driven retry engine, built into Stripe Billing at no extra cost. It is not a full recovery solution, but it is the free foundation every other tool should sit on top of.

Key features

Machine-learning retry timing
Built into Stripe Billing
No extra cost
Automatic, zero maintenance
Configurable retry count
Native Stripe emails (optional)
Trained on Stripe network data
Works alongside any dunning tool

Pros

  • Free and built into Stripe
  • Smarter than fixed-schedule retries
  • Recovers 20-30% on its own

Cons

  • Never personalizes customer outreach
  • No branded emails or card update UX

Why it ranks here

It is free and recovers a meaningful share of soft declines automatically. The catch is it never talks to the customer, so it caps out at the retry-recoverable failures.

Turn it on first; it costs nothing. Then layer real dunning on top to capture the failures retries can never fix.
๐Ÿ’ฐ Free (built into Stripe)
7

FlyCode โ†—

โ˜… Best for AI retries plus backup payment methods โ˜…

FlyCode leans on AI to optimize retry timing and can route to backup payment methods on file. A newer entrant focused squarely on lifting the recovery rate on involuntary churn.

Key features

AI-optimized retry scheduling
Backup payment method routing
Stripe integration
Recovery analytics
Automated dunning
Card network insights
A/B testing
Performance-based model

Pros

  • Modern AI-driven retry logic
  • Backup payment method fallback
  • Aligned incentives (pay on recovery)

Cons

  • Percentage-of-recovery pricing scales with success
  • Newer, smaller track record

Why it ranks here

The backup-payment-method angle is genuinely differentiated; it can recover charges other tools simply mark as lost.

Worth a look if you want AI retry optimization and are comfortable paying a percentage of what it recovers.
๐Ÿ’ฐ % of recovered revenue
8

Paddle Retain โ†—

โ˜… Best for Recovery bundled with billing infrastructure โ˜…

Formerly ProfitWell Retain, now part of Paddle, Retain combines dunning with subscription analytics. It works with Stripe and is known for a data-driven approach to recovery.

Key features

Data-driven dunning campaigns
Works with Stripe billing
Subscription analytics included
Localized recovery messaging
Term optimization
Reactivation flows
Benchmarks from Paddle data
Performance reporting

Pros

  • Backed by large subscription dataset
  • Strong localization for global audiences
  • Bundled analytics

Cons

  • Percentage-based pricing on recovery
  • Best fit inside the Paddle ecosystem

Why it ranks here

Retain's benchmarks come from one of the largest subscription datasets around, which informs smarter default campaigns out of the box.

A solid data-driven option, especially if you are already in or considering the Paddle ecosystem.
๐Ÿ’ฐ % of recovered revenue
9

Gravy โ†—

โ˜… Best for Done-for-you human recovery โ˜…

Gravy is a managed service: real people reach out to recover failed payments and win back churned customers on your behalf. The high-touch end of the spectrum.

Key features

Human-led outreach
Failed-payment recovery
Customer win-back
Personalized messaging
Managed service model
Multi-channel contact
Dedicated specialists
Hands-off for your team

Pros

  • Genuinely hands-off recovery
  • Human touch lifts hard-to-recover cases
  • Doubles as win-back outreach

Cons

  • Highest cost model on this list
  • Less control over messaging cadence

Why it ranks here

When you would rather outsource recovery entirely and a human conversation is worth the premium, Gravy removes the work from your plate.

The choice for teams that want recovery handled by people, not just software.
๐Ÿ’ฐ Custom / managed service
10

Butter Payments โ†—

โ˜… Best for Enterprise retry optimization โ˜…

Butter focuses on the retry-optimization layer at enterprise scale, using machine learning across the payment lifecycle to squeeze out incremental recovery on large volumes.

Key features

ML-driven retry optimization
Enterprise-grade scale
Network and issuer insights
Multi-processor support
Detailed recovery analytics
Automated decisioning
Performance-based pricing
Dedicated support

Pros

  • Engineered for very high volume
  • Sophisticated retry decisioning
  • Multi-processor coverage

Cons

  • Overkill for small and mid SaaS
  • Enterprise sales and pricing

Why it ranks here

At enterprise volume, marginal retry-rate improvements are worth a dedicated platform, and Butter specializes in exactly that margin.

Reserve this for enterprise volumes where a fraction of a percent of recovery is a meaningful line item.
๐Ÿ’ฐ % of recovered revenue

Watch

Fixing failed Stripe subscriptions, step by step

Fix Recurring Payments on Stripe in 2026: Failed Subscriptions, Smart Retries + Customer Emails

The playbook

Build your recovery stack in 5 phases

Tools are only as good as the system you run them in. Stack the layers in this order, each one captures failures the previous layer cannot.

01

Turn on the free layer

Enable Stripe Smart Retries in your Dashboard today. It costs nothing and recovers 20-30% of soft declines automatically. This is your foundation; everything else stacks on top.

02

Add proactive prevention

Switch on pre-dunning: expiry reminders 30 and 7 days out, plus trial-ending and annual-renewal nudges. Preventing a failure is cheaper than recovering one, and this removes 20-30% of future failures at the source.

03

Layer branded dunning

Add a Day 1 / Day 3 / Day 7 branded email sequence with a hosted card update page. This is where the bulk of recoverable revenue lives, the failures retries alone can never fix because they require the customer to act.

04

Segment by decline type

Route soft declines to retries and hard declines straight to outreach. Stop retrying expired or stolen cards; stop emailing customers whose charge will clear on its own. Matching the response to the decline code lifts recovery and protects deliverability.

05

Close the loop with win-back

For customers who lapse despite the sequence, pause rather than hard-cancel, then run a 30-day win-back. A paused subscriber is far easier to reactivate than a fully churned one.

Side by side

All 10 tools compared

ToolBest forKey featureEase of useAgency friendlyPrice
SubRevivalFlat-rate Stripe dunningFull stack, no revenue shareโ˜…โ˜…โ˜…โ˜…โ˜…โœ…$19/mo flat
ChurnkeyCancel-flow + recoveryDeflection + dunningโ˜…โ˜…โ˜…โ˜…โ˜…โš ๏ธFrom ~$199/mo
StunningEstablished Stripe dunningMature feature setโ˜…โ˜…โ˜…โ˜…โ˜…โœ…MRR-scaled
Churn BusterHigh-volume DTCMulti-channel + SMSโ˜…โ˜…โ˜…โ˜…โ˜…โœ…From ~$99/mo
Baremetrics RecoverBaremetrics usersMetrics + recovery in oneโ˜…โ˜…โ˜…โ˜…โ˜…โš ๏ธAdd-on
Stripe Smart RetriesFree baselineML retry timingโ˜…โ˜…โ˜…โ˜…โ˜…โœ…Free
FlyCodeAI + backup methodsBackup payment routingโ˜…โ˜…โ˜…โ˜…โ˜…โš ๏ธ% of recovery
Paddle RetainBundled w/ billingData-driven campaignsโ˜…โ˜…โ˜…โ˜…โ˜…โš ๏ธ% of recovery
GravyDone-for-youHuman outreachโ˜…โ˜…โ˜…โ˜…โ˜…โš ๏ธCustom
Butter PaymentsEnterpriseRetry optimization at scaleโ˜…โ˜…โ˜…โ˜…โ˜…โš ๏ธ% of recovery

Competitor pricing reflects publicly listed models as of June 2026 and may have changed; check each vendor for current rates.

Build vs buy

Manual / DIY vs SubRevival

You can build every layer in this guide yourself. The honest question is whether the engineering time is worth it versus connecting a tool in five minutes. Here is exactly what you would own either way.

Manual / DIYSubRevival
First email timingHours or days later, if at allUnder 4 hours, automatic
Email brandingGeneric Stripe templateYour logo, colors, and domain
Sequence depthUsually a single emailDay 1 / Day 3 / Day 7, automated
Card update pageCustom build requiredHosted, instant, included
Pre-dunning remindersMust build yourselfTrial + renewal reminders included
Post-sequence win-backManual, ad hocOn the roadmap, automated
Setup time2-6 weeks of dev time5 minutes via Stripe OAuth
Ongoing maintenanceYour engineering teamZero; fully managed
The honest take: if you have spare engineering capacity and want full control, building is viable, but you will own detection, email infra, deliverability, a card update page, and ongoing maintenance forever. For most teams, $19/mo flat to have it running today is the better trade. Compare the leading hosted options in our best dunning software guide, or go head-to-head: SubRevival vs Stunning and SubRevival vs Churnkey.

Common questions

Recovering failed Stripe payments: FAQ

How do I recover failed Stripe payments?
Recover failed Stripe payments by stacking four layers. First, enable Stripe Smart Retries (free) to catch soft declines automatically. Second, add pre-dunning reminders so cards are updated before they fail. Third, send a branded Day 1 / Day 3 / Day 7 email sequence that links to a self-serve card update page. Fourth, segment by decline code: retry soft declines, message hard declines. Retries alone recover 20-30%; the full stack reaches around 57%. You can build this yourself or connect SubRevival in five minutes to run all of it automatically.
How long does Stripe retry failed payments?
With Smart Retries enabled, Stripe retries a failed subscription payment over roughly 7 to 14 days, making up to four attempts on timing chosen by its machine-learning model. You control the number of retries and what happens at the end of the window (cancel, mark unpaid, or leave active) under Billing > Revenue recovery > Retries in the Dashboard. Note that retries only help with soft declines; an expired or stolen card will fail every retry, which is why a dunning email sequence is essential.
What is the difference between Stripe Smart Retries and a dunning tool?
Smart Retries re-attempts the charge on the card already on file using smart timing, but it never tells the customer anything. A dunning tool handles the human side: branded emails, a card update page, and segmented outreach so an expired-card customer actually knows to fix it. They are complementary. Use retries for soft declines and dunning for the rest. We break this down further in our dunning tool vs Smart Retries comparison.
How do I recover Stripe payments that fail with authentication_required (SCA / 3DS)?
Under PSD2, many EU and UK cards require Strong Customer Authentication. When a charge fails with authentication_required, retrying silently will not work, the customer has to complete a 3D Secure challenge with their bank. Recover these by routing the customer to an authenticated confirmation (Stripe's hosted payment page or an off-session authentication link) rather than a blind retry. This is a gap most generic recovery advice misses, and it matters a lot if you sell into Europe.
How fast should the first dunning email go out?
Speed is the biggest lever you control. Send the first email within a few hours, never wait days. Recovery emails sent quickly see far higher open and action rates, and delaying past 24 hours can reduce recovery by roughly 15%. Most manual setups fail here because someone has to notice the failure first. For the full cadence and copy, see our dunning email sequence best practices guide.
Can I recover failed payments without a developer?
Yes. Building recovery in-house takes weeks of engineering, but SubRevival connects through Stripe OAuth with no code, no API keys, and no webhook configuration. Setup is about five minutes: create an account, authorize Stripe, customize your email sequences. After that it monitors for failed payments and runs the full recovery sequence automatically. If you want to compare hosted options first, start with our roundup of the best dunning software for 2026.
Should I cancel or pause subscriptions after a failed payment?
Pause rather than hard-cancel. A hard cancellation throws away the relationship and the subscription history; a pause keeps the door open and makes a 30-day win-back far more effective. Treat full cancellation as the last resort after retries, the dunning sequence, and a win-back attempt have all run. This is also why measuring your baseline matters, see our involuntary churn rate benchmark to know what "good" looks like.
Is a dunning tool worth it for a small SaaS?
For nearly any subscription business, yes. At $20K MRR, roughly $1,800 a month leaks out through failed payments; recovering even half of it dwarfs the cost of a tool. SubRevival starts at $19/mo flat and pays for itself on a single recovered payment. The only case where it is marginal is a very early business with almost no recurring revenue yet, and even then, enabling free Smart Retries costs nothing. Learn the mechanics in what is involuntary churn.

Stop writing off the 9% of MRR you're losing to failed payments.

Connect SubRevival to Stripe in 5 minutes. Smart Retries compatibility, pre-dunning, a Day 1/3/7 sequence, and a hosted card update page. $19/mo flat, no percentage of revenue, 21-day guarantee.

Start Recovering Failed Payments$19/mo flat. 5-minute Stripe OAuth. No code.

Keep reading