Blog
How to Handle Failed Payments and Dunning for Subscriptions
Learn how to recover failed subscription payments with smart retries, dunning emails, and flexible billing strategies to reduce churn and increase recurring revenue.

Every subscription business silently leaks revenue through a channel most teams underinvest in: failed payments. A card expires, an issuer declines a recurring charge, a customer's bank account runs low on the first of the month, and a healthy, paying customer quietly drops off. If your subscription stack treats those events as cancellations, you are throwing away money and customer relationships you already earned.
This guide walks through how to handle failed payments, dunning subscriptions end-to-end: why payments fail, how to structure a modern retry schedule, how to write email sequences that actually recover revenue, how to measure performance, and how to build the whole thing on a platform flexible enough to grow with you.
Key Takeaways
- Industry sources commonly estimate involuntary churn at 20–40% of total churn.
- Well-configured retries and dunning can recover a meaningful share of failed payments, with performance varying by business model, payment mix, and decline reasons.
- Smart retries outperform fixed schedules, and the performance gap widens as transaction volume grows.
- Account updater services and network tokens help reduce failures caused by expired or replaced cards.
- The best dunning email sequences run 3–5 touches across 14–30 days with specific subject lines and a one-click payment update link.
- Pausing access instead of canceling preserves customer relationships far better than immediate cancellation.
- Platform flexibility matters: an API-first subscription engine lets you customize retry logic, mix recurring and one-time items in a cart, and integrate dunning with your own data
What Is Subscription Dunning?
Subscription dunning is the automated process of recovering failed recurring payments through retries, customer communications, and payment-method updates before the subscription is canceled.
Dunning sits between a failed charge and a lost customer. It covers the retry schedule, the email and in-app communications, the self-service payment update flow, and the decision logic for when to keep trying, when to pause access, and when to cancel. A serious dunning program treats failed payments as a recoverable event, not a customer decision.
Why Failed Payments Happen
Most subscription operators lump all failed charges into a single "declined" bucket. That is the first mistake. Payments fail for at least eight distinct reasons, and each one has a different recovery path.
Soft declines are temporary: the issuer would likely approve a retry on a different day. Hard declines indicate the card itself has a problem and will not approve until something changes, whether that is a new card number, an updated billing address, or direct customer intervention.
Here is how common failure modes break down and what to do about each one:
- Insufficient funds (code family: 51). High recoverability. Retry 3-5 days later, often aligned with payday cycles.
- Expired card (code family: 54). High recoverability. Trigger account updater and network tokens, then send an email prompt.
- Lost or stolen card (code families: 41/43). Recoverability depends on the customer. Stop retries and email the customer to update their card.
- Do not honor / issuer risk (code family: 05). Medium recoverability. Retry with a delay and consider a step-up 3DS challenge.
- Fraud suspected (code families: 59/62/63). Low recoverability. Stop retries, contact the customer, and verify identity.
- Incorrect billing address (AVS mismatch). High recoverability if the customer updates their billing address. Prompt the update through your self-service flow rather than retrying blindly.
- Daily limit exceeded (code families: 61/65). High recoverability. Retry the following day.
- SCA / authentication required (1A). Authentication-required failures may be recoverable, but they usually require a customer-facing authentication step rather than a silent retry.
Mapping failure modes to decline codes turns dunning from a blunt instrument into something that can actually win. If you are blasting retries at a card marked lost or stolen, you are both burning issuer goodwill and annoying the customer. If you are not retrying a code-51 insufficient-funds decline over a longer horizon, you are leaving money on the table.
See the Swell payment gateways documentation for how the platform exposes decline codes to your retry logic.
The True Cost of Involuntary Churn
Involuntary churn is what happens when a paying customer disappears without ever meaning to leave. It is a silent killer of subscription economics, and the impact compounds quickly.
Recurly's research puts involuntary, payment-related churn at 20-40% of total subscription churn, making it a significant and underappreciated revenue leak. Involuntary churn can materially impact recurring revenue across every category: consumer subscription boxes, B2B SaaS, and subscription ecommerce alike. The exact share varies by business model, customer mix, and payment methods accepted, but no subscription business is immune.
The punchline: improving dunning can increase retained revenue and reduce involuntary churn without touching your product, acquisition spend, or pricing. That is why a disciplined approach to failed payments dunning subscriptions is one of the highest-leverage moves operators can make in 2026.
Step-by-Step: How to Set Up Dunning for Subscriptions
The following 10 steps assume you already have a subscription billing engine, whether it is Swell's subscriptions module or a separate billing layer. The logic applies regardless of the stack.
Step 1: Define your retry schedule
Before writing a single email, decide how many attempts you will make and over what window. Industry consensus lands at 4-6 attempts spread over 14-30 days. Fewer attempts leave recoverable revenue on the table; more attempts risk issuer flagging and customer frustration.
A sensible starting point for fixed retries looks like this. Attempt one happens one day after the original failure to capture transient issuer issues. Attempt two comes on day three, after a weekend or 48-hour reset. Attempt three lands on day seven, aligned with common bi-weekly pay cycles. Attempt four falls on day fourteen to catch the monthly pay cycles. Attempt five happens on day twenty-one as a final attempt before subscription suspension.
Step 2: Enable card account updater and network tokens
Before you retry at all, make sure you are retrying with the right card credentials.
Visa Account Updater (VAU) and Mastercard Automatic Billing Updater (ABU) refresh stored card data when an issuer reissues a card, covering new expiry dates and new card numbers. Network tokens replace the raw card number with a token that persists across card replacements, helping reduce hard declines caused by expired or replaced cards. Major processors, including Stripe, Braintree, and Adyen, expose these features. See the Stripe setup in Swell for practical configuration.
Account updater services and network tokens help reduce failures caused by expired or replaced cards. If your processor supports them and you have not turned them on, that is the most straightforward win available to you.
Step 3: Configure smart retry windows
Fixed retries are better than nothing. Smart retries are meaningfully better.
Smart retry systems use machine learning to score the probability of a successful retry at any given moment, incorporating signals like time-of-day in the card's BIN country, day-of-week patterns per issuer, historical approval rates for similar decline codes, whether the card recently succeeded on another merchant, and whether an account updater push has occurred since the last failure.
Stripe's Smart Retries, Cleverbridge's Dynamic Retries, and tools like Butter Payments and FlexPay all operate on this principle. Some vendors report materially better recovery from dynamic retries than from static schedules, though results vary by business model and card mix.
If you are on an API-first platform, you can implement your own version using webhooks and a queue. More on that in the flexibility section below.
Step 4: Build a dunning email sequence (3-5 touches)
Retries recover the easy failures silently. Communications recover the rest.
Your sequence should do three things: inform, reduce friction, and escalate gradually. A 4-email structure that consistently performs well includes the following.
The email one goes out immediately after the failure. The subject line reads something like "Quick update needed for your [Brand] subscription." The purpose is to notify and link to the payment update method.
Email two goes out three days later. Subject: "We tried your card again, action still needed." This confirms the retry attempt with soft urgency.
Email three goes out on day seven. Subject: "Your [Brand] subscription is paused, 1-click fix." This makes the access impact visible.
Email four goes out on day fourteen. Subject: "Final notice: your subscription will cancel in 48 hours." This is the last chance with a concrete deadline.
Step 5: Add in-app, SMS, and push notifications
Email alone leaves recovery on the table. Customers who get a subtle in-app banner update their card faster than customers who only receive an email. Layer in an in-app banner when the customer next logs in, a push notification if you have a mobile app, SMS for high-LTV subscriptions (US only if you have not obtained international consent), and an account page badge that persists until payment is resolved.
Step 6: Provide a self-service payment update flow
The single highest-leverage UX in dunning is a one-click deep link from the email to a hosted, tokenized payment update form. No login, no password reset, no support ticket.
Swell's customer payment management gives customers a secure portal to update cards and addresses without touching your engineering team. A good update flow should open directly from email with a signed token, accept Apple Pay, Google Pay, and saved wallets, retry the pending invoice immediately on successful update, and fire a webhook so your CRM marks the account as healthy again.
Additional friction in the payment-update flow usually reduces recovery, so keep it as frictionless as possible.
Step 7: Configure grace periods and service pausing
Do not cancel on the first failure. Pause instead. Grace periods typically run 3-14 days, depending on the product, during which the customer keeps some level of access while the dunning sequence runs.
Pausing can preserve customer relationships far better than immediate cancellation. That single decision, pause instead of cancel, is worth more than most dunning email tweaks. Configure pausing rules in your subscription management settings.
Step 8: Set permanent-failure rules
At some point, retries stop being worth it. A clean ruleset handles this gracefully. After the final retry (say, day 21), move the subscription to a delinquent hold state. After an additional 7-14 days of no customer action, cancel. Preserve the customer record and past order history because many will return. Send a final "your subscription has been canceled, reactivate anytime" email with a pre-filled reactivation link.
Step 9: Integrate with chargebacks and disputes
Some failed payments become chargebacks days or weeks later. Make sure your dunning system respects the dispute state. If a charge is disputed, stop retries immediately on that card and customer. Feed dispute data back into risk models so repeat offenders are deprioritized. Automate Stripe or Braintree dispute evidence submission where possible.
Step 10: Monitor recovery and iterate
You cannot improve what you do not measure. At minimum, track recovery rate (the percentage of failed charges that eventually succeed), time to recovery (median days from failure to success), involuntary churn rate (subscriptions lost to payment failure divided by total active), dunning revenue recovered (dollar value saved per month), and email performance, including open rate, click-through, unsubscribe, and conversion.
Build these into your subscription reports and review monthly.
Smart Retry vs. Fixed Retry: What the Data Says
The single most important architectural decision in dunning is whether your retries are static (fixed day offsets) or dynamic (ML-selected times per case).
Fixed schedules are simple to implement and predictable, but they ignore per-issuer patterns and can waste attempts. More aggressive fixed schedules recover soft declines faster, but carry issuer-flagging risk. Smart retry systems, which use ML to pick optimal timing per card and BIN, tend to outperform fixed schedules meaningfully. Hybrid approaches combine smart timing with a deterministic fallback and sit between the two.
Stripe says its ML-powered Smart Retries use dynamic signals to choose retry timing. Some vendors report a relative improvement in recovery rate over static schedules, though the magnitude varies. Solidgate and Cleverbridge report similar directional findings.
That said, smart retries are not magic. They work best on top of good fundamentals: account updater enabled, network tokens adopted, clean decline-code handling, and a responsive self-service flow. Start with the basics, then layer ML on top.
Dunning Email Sequence Framework
The best dunning emails feel like a helpful nudge, not a collections letter. They are short, specific, and always link to a one-click resolution.
- On tone: use the customer's name and the product name. Name the failure reason if you know it, for example, "your card ending in 4242 expired," rather than vague euphemisms. Lead with the primary call to action above the fold with no marketing detours. "This happens all the time," beats "YOUR ACCOUNT IS DELINQUENT."
- On timing: test send times by customer segment. Many teams start with local-business-hour delivery and compare weekday performance to find what works for their audience.
Subject lines that work include "Quick update needed for your [Brand] subscription," "We had trouble with your payment, here is a 1-click fix," "Action required: your [Brand] subscription is paused," and "Final notice: your subscription cancels in 48 hours." Avoid "PAYMENT FAILED" in all caps, aggressive language, or vague euphemisms like "billing issue."
Email 1, Day 0 (immediately after fail)
Subject: Quick update needed for your [Brand] subscription
Body: "Hey [Name], our last charge for your [Brand] subscription did not go through. It takes about 30 seconds to update. [Update Payment] We will retry automatically once it is fixed."
Email 2, Day 3
Subject: We tried your card again, action still needed
Body: "Hey [Name], we tried your [Brand] payment again, and it did not go through. Your subscription is still active for now. [Update Payment]"
Email 3, Day 7
Subject: Your [Brand] subscription is paused, 1-click fix
Body: "Hey [Name], we have paused your subscription after a few failed attempts. Your settings and order history are safe. Update your card, and we will pick up right where you left off. [Reactivate Now]"
Email 4, Day 14
Subject: Final notice: your subscription will cancel in 48 hours
Body: "Hey [Name], this is the last heads-up before we cancel your [Brand] subscription on [Date]. You can reactivate with a single click. [Keep My Subscription]"
Tools like Klaviyo, Mailchimp, and Customer.io all integrate with modern subscription platforms. See Swell's Klaviyo integration and Mailchimp integration for how to wire dunning triggers into your ESP.
How Dunning Differs by Geography and Card Type
Dunning is not globally uniform. The same card in two different countries can have meaningfully different approval patterns.
- BIN-level behavior. The first 6-8 digits of a card (the BIN) identify the issuing bank. Smart retry systems score retry probability by BIN because a US Chase debit BIN approves at very different rates and times than an Indian HDFC credit BIN. If your retry logic treats all cards the same, you are averaging away the real signal.
- EU: PSD2, SCA, and 3DS. In the EU and UK, PSD2 requires Strong Customer Authentication (SCA) on many transactions, including some subscription retries. The first charge in a subscription typically needs a 3DS challenge to establish a mandate. Subsequent merchant-initiated transactions can often proceed without SCA if correctly flagged. In Europe, some retry scenarios may require renewed customer authentication depending on how the original mandate and subsequent transactions are classified. Consult the European Central Bank and Visa PSD2 guidance when designing retry flows for EU customers.
- Network tokens worldwide. Visa, Mastercard, and Amex all offer network tokenization that makes subscription charges more durable across card replacements. Adoption is accelerating, and 2026 is a good year to migrate if you have not already.
- Local payment methods. For non-card methods like iDEAL, SEPA, Bacs Direct Debit, Apple Pay, and PayPal, retry logic behaves differently. SEPA and Bacs have mandate renewal rules. PayPal returns its own set of error codes that do not map cleanly to card decline codes. Build per-method retry rules.
How to Measure Dunning Performance
Dunning is a numbers game. Track these metrics monthly at a minimum, and weekly if possible.
- Recovery rate: The percentage of failed charges that eventually succeed. A healthy benchmark for well-tuned programs is often 50–80%, though performance varies by business model.
- Time-to-recovery: The median number of days between failure and successful payment recovery. A reasonable starting target is 1–7 days.
- Involuntary churn rate: The number of subscriptions lost to payment failure divided by total active subscriptions. Keeping this below 2% monthly is generally considered healthy.
- Dunning revenue recovered: The total dollar value of successfully recovered charges. Track this both in absolute terms and as a percentage of MRR.
- Email conversion rate: The percentage of customers who update their card after receiving dunning emails. Healthy programs often see 10–25%.
- Self-service update rate: The percentage of recoveries completed through self-service rather than customer support. A good target is above 70%.
- Reactivation rate: The percentage of paused subscriptions that reactivate, divided by the total number paused. A reasonable benchmark is 25–35%.
Segment all of these metrics by card brand, issuer country, and customer cohort. Your average recovery rate will often hide meaningful variation between segments, and that is where your next optimization opportunities usually emerge.
Why Platform Flexibility Matters for Dunning
Here is the uncomfortable truth most billing vendors will not tell you: dunning is never one-size-fits-all forever. Your retry logic, your email timing, your grace periods, and your mixed-cart handling will all need to evolve. The platform you build on either helps or hurts that evolution.
Swell is an API-first ecommerce platform with native subscriptions. Subscriptions are built into the product, not bolted on as a third-party app. That architecture pays off in dunning for four specific reasons.
First, custom retry logic via API and webhooks. Swell provides developer tooling, functions, and integration options that can support custom failed-payment handling. You can route failed charge events into your own queue, apply custom scoring, or trigger a specialist vendor like Butter or FlexPay without waiting for an app vendor to expose the hook.
Second, mixed carts are handled natively. Swell's mixed cart model lets one-time and subscription items coexist in a single cart and a single order. When a retry partially succeeds (say, the subscription item captures but the one-time item does not), Swell's data model preserves the distinction so your retry logic stays clean.
Third, unlimited custom fields on the subscription object. Add your own retry_attempt_count, last_decline_code, next_retry_at, or ML_score fields directly with no schema hacks. See model editor and custom fields for how this works in practice.
Fourth, developer tooling that makes overrides painless. Full API coverage, clean SDKs, App Functions for server-side logic, and serverless storefront apps mean you can build a bespoke dunning flow in days, not months.
When you combine native subscription support with genuine platform flexibility, dunning stops being a constraint and starts being a lever.
Final Verdict
Failed payments are the single largest recoverable leak in most subscription businesses. A disciplined approach to failed payments, dunning subscriptions, combining smart retries, account updater and network tokens, a well-crafted email sequence, a frictionless self-service update flow, the right geographic nuance, and relentless measurement can drive meaningful improvement in retained revenue without touching product or acquisition.
The operators who win here treat dunning as a product surface, not an afterthought. They choose a platform that exposes the hooks, fields, and APIs they need to customize retry logic as their customers and economics evolve. Swell's API-first architecture and native subscription engine give growing brands exactly that surface: a foundation that future-proofs their dunning program as they scale. Create your store today and build a subscription program designed to reduce churn, recover more revenue, and scale with your business.
Frequently Asked Questions
What is subscription dunning?
Subscription dunning is the process of recovering failed recurring payments through automated retries, customer emails, account updater services, and self-service payment-update flows before the subscription is canceled.
How many retries should I attempt on a failed subscription payment?
Industry best practice is 4-6 retries spread across 14-30 days. Smart retry systems pick the specific timing dynamically; fixed schedules commonly use days 1, 3, 7, 14, and 21.
What is the difference between smart retries and fixed retries?
Fixed retries use a static schedule (for example, day 1, day 3, day 7). Smart retries use ML to pick the optimal retry time per card, BIN, and decline code. Some vendors report materially better recovery from dynamic retries than from static schedules, though results vary by business and payment mix.
What is involuntary churn, and how does it happen?
Involuntary churn is when a customer loses access because of a failed payment, not a deliberate cancellation. Industry sources commonly estimate it at 20-40% of total subscription churn, making it one of the largest recoverable revenue leaks most subscription businesses face.
Should I cancel a subscription after a payment failure?
Not immediately. Pause access instead of canceling. Pausing can preserve customer relationships far better than immediate cancellation and gives your dunning sequence time to work.