How to Recover Failed Payments and Stop Involuntary Churn

A customer didn’t cancel. Their card just stopped working, and nobody told them. That’s involuntary churn: subscribers who wanted to keep paying you but got quietly dropped because a charge failed and nothing happened next. It’s one of the most fixable revenue leaks in a subscription business, because the customer is still there — they just need a working payment method and a nudge.

This guide walks through how to tell which failed payments are worth retrying, how to build a retry-and-communication sequence that actually recovers revenue, and which tools (from your payment processor’s built-in retries to dedicated dunning software) can automate the process so you’re not chasing declined cards by hand.

Quick Answer

Recovering failed payments means combining smart retry timing with proactive customer outreach: retry soft declines (like insufficient funds) automatically over one to two weeks, skip retrying true hard declines (like a stolen or closed card) and instead email the customer immediately, and use a card account updater service so expired or reissued cards refresh in the background before they ever cause a decline.

Sort Declines Before You Retry Them

The single biggest mistake in payment recovery is treating every decline the same way. Payment processors return a decline code with every failure, and that code tells you what to do next. Soft declines — things like insufficient_funds, processing_error, or a generic try_again_later response — usually mean the card is fine but the charge didn’t go through this time. These are worth retrying on a schedule, since a paycheck landing or a temporary processor hiccup can resolve the issue on its own.

Hard declines — a card reported lost or stolen, a closed account, or an expired card — won’t succeed no matter how many times you retry. Retrying these repeatedly wastes attempts, can look like fraud to the card network, and delays the moment you actually reach the customer. For hard declines, stop retrying and go straight to an email or SMS asking the customer to update their payment method.

One code causes more confusion than any other: do_not_honor (also shown as decline code 05, or Braintree’s error 2000). It sounds terminal, but processors generally classify it as a soft decline — the issuing bank rejected the charge without giving a specific reason, and a later attempt can succeed. Whether it’s actually worth retrying depends on the network advice code attached to the decline: some advice codes mean a retry has a real chance, while others (for example, Mastercard’s MAC 03 or MAC 21) mean stop immediately, since retrying anyway can trigger per-attempt fees under the networks’ excessive-retry rules. If your processor exposes that detail — Braintree, for instance, includes a processor_response_type of SoftDeclined or HardDeclined — use it instead of assuming from the decline code alone.

If you’re on Stripe, its Smart Retries feature (part of Stripe Billing) uses machine-learning models trained on network-wide payment data to pick retry timing automatically, spacing attempts over roughly two weeks and stopping on hard declines rather than retrying blindly. Other processors and billing platforms — Chargebee, Recurly, Braintree — offer comparable configurable retry schedules; the principle is the same even if the exact automation differs.

Layer Retries With Communication and Card Updates

Retries alone recover some payments, but the biggest lift comes from combining them with direct communication. Set up a dunning email sequence that starts the moment a payment fails, not after the final retry — an early “we couldn’t process your payment” email with a one-click link to update the card recovers far more revenue than a single notice sent after you’ve already given up. Follow with reminders at each retry attempt and a final, clearer warning before the subscription actually cancels. Adding SMS or an in-app banner as a second channel helps for customers who ignore email.

Separately, enroll in your card network’s account updater service — Visa Account Updater and Mastercard’s Automatic Billing Updater are the two major ones. These programs automatically push new card numbers and expiration dates to your payment processor when a bank reissues a card, so a portion of failures (expired cards, reissued cards after a breach) never happen in the first place. Your payment processor or gateway typically lets you opt in; ask your acquirer or check your processor’s dashboard settings.

If manually building retry logic and email sequences feels like too much to maintain, dedicated dunning tools such as Churn Buster or Baremetrics Recover plug into Stripe and other processors to automate the whole sequence — retries, emails, SMS, and reporting on recovery rate by decline reason — without you writing custom code.

Tips and Common Mistakes

Don’t rely on your processor’s default retry settings without checking them — many platforms ship with a conservative default (like three retries over a few days) that’s easy to extend once you know it’s configurable. Make your “update payment method” links go to a hosted page that requires no login, since forcing a password reset before someone can fix their card is where most recovery emails lose the customer. Track recovery rate by decline code, not just overall — if one code (say, insufficient_funds) recovers well but another (like a reported lost or stolen card) never does, that tells you where to spend more retries versus more emails. For ambiguous codes like do_not_honor, break the data down further by network advice code, since the same decline code can recover well under one advice code and never under another. And don’t wait until the subscription is about to cancel to say anything; the first failed-payment email should go out the same day as the first decline.

Explore more: More growth strategies.

Failed payment recovery FAQs

What’s the difference between voluntary and involuntary churn?

Voluntary churn is a customer actively canceling. Involuntary churn is a customer being dropped because a payment failed and was never fixed — the subscription lapses without the customer deciding to leave.

How many times should I retry a failed payment?

For soft declines, most billing platforms space out around three to eight retries over one to two weeks, timed to when a retry is more likely to succeed (e.g., a few days later rather than the next hour). True hard declines shouldn’t be retried at all — email the customer instead.

Is a do_not_honor decline a hard decline or a soft decline?

It’s generally treated as a soft decline — processors like Braintree classify do_not_honor as retryable, since it usually means the issuing bank rejected the charge without stating a specific reason. Whether a retry is actually worth attempting depends on the network advice code attached to the decline: some advice codes mean a later attempt has a real chance, others mean stop immediately to avoid excessive-retry fees. Check your processor’s advice code or response-type field rather than assuming from the decline code alone.

Do I need special software to recover failed payments, or can I use my payment processor alone?

Processors like Stripe include built-in smart retry logic, which covers the retry side. Whether you need additional dunning software depends on whether you also want automated multi-channel emails/SMS, hosted update pages, and recovery reporting by decline code — features that go beyond what most processors offer out of the box.

Turn Customers Into Your Growth Engine

Launch a referral program that turns happy customers into your best growth channel — with ReferralEarl. Try ReferralEarl.

Want this in your inbox? Subscribe to the free newsletter.

Photo by rupixen on Unsplash.

1 thought on “How to Recover Failed Payments and Stop Involuntary Churn”

Comments are closed.