Subscription Payment Failures: Why Renewals Fail and How to Prevent Them
Why subscription renewals get declined, what each decline code means, how often Visa lets you retry, and how to stop failures before renewal day.
Article summary
TL;DR
Subscription payments fail because a renewal is charged while the customer is away: the saved card expired or was replaced, the account is short of funds, the issuer declines without a reason, or a European bank wants authentication. Read the decline code first. Some declines can be retried within Visa's limits. Others need a new card or the customer.
- A renewal is a merchant-initiated payment: the customer isn't there to fix a decline, so every failure becomes a recovery job.
- Visa never allows a retry on the same card after a Category 1 decline, which includes lost, stolen, closed accounts and stop payment orders. Other declines allow up to 20 attempts in 30 days.
- Expired and replaced cards are the most preventable failure: card account updater and network tokens refresh saved cards before renewal day.
- ACH and SEPA renewals fail days after the charge, not at once, and a bank dispute can cancel the mandate itself.
- Measure failures on the first attempt and recovery separately, by decline reason, or you won't know which fix to work on.
On this page
A subscription renewal is charged while the customer is somewhere else. When the bank says no, there's nobody at the checkout to try another card. That's why failed renewals cost more than failed checkouts, and why most of the work happens before renewal day. This guide covers why renewals fail, what each decline means, which ones you're allowed to retry, and how to prevent them.
Why do subscription payments fail?
The first payment of a subscription is a customer-initiated transaction: the customer types or picks a card, can pass 3D Secure, and sees an error if the bank declines. Every renewal after that is a merchant-initiated transaction. You charge a saved card on a schedule, off session.
That changes three things. The card details are as old as the subscription, so they drift: cards expire, get replaced after a loss, or get closed. The balance is whatever it is on billing day. And a decline can't be fixed on the spot: Stripe's advice for off-session declines is to notify the customer by email or in-app message and bring them back.1Stripe Docs, Card declines
Fig. 1Where a renewal can fail
approved declined or closed routing step
- Sign-upCustomer pays, card saved, 3D Secure if asked
- storedCard on fileCan expire, be replaced or closed before renewal
- billing dateRenewal chargeMerchant-initiated, customer absent
- authorizationIssuerApproves, or declines with a codeDeclined
Nobody's at the checkout on renewal day
Payment vendors that rank in this search quote shares of churn caused by failed payments, with figures attributed to each other's studies. No card network or regulator publishes one. Your own failure rate, split by decline reason, is the number to look at (see how to measure it below).
The declines behind failed renewals, and what each one needs
Every issuer decline comes with a decline code. Stripe notes that issuers classify most declines as generic, so the exact reason is often hidden, and that they discuss the details only with their cardholder.1Stripe Docs, Card declines Still, the codes you see on renewals fall into a few families, and each one calls for a different action.2Stripe Docs, Decline codes3Stripe Docs, Network decline codes4Visa Core Rules and Visa Product and Service Rules, April 18, 2026
| Decline | Typical codes | What it means on a renewal | What to do |
|---|---|---|---|
| Insufficient funds | Stripe insufficient_funds; Visa 51; Mastercard 51 | The balance or credit line is short on billing day | Retry later, not a minute later; ask for another payment method if retries fail |
| Expired or replaced card | Stripe expired_card; Visa 54; Mastercard 54, or 79 with advice code 01 (updated card data available) | The saved details are out of date. The bank has issued a new card | Don't retry the same details. Get the new card through an updater or from the customer |
| Do not honor, generic decline | Stripe do_not_honor, generic_decline; Visa 05 | The issuer won't say why: risk model, card restriction, unusual pattern | Retry within limits; if it keeps failing, ask the customer to call their bank or use another card |
| Lost, stolen, closed account | Stripe lost_card, stolen_card, pickup_card; Visa 41, 43, 46 | The card is dead and may not be in its owner's hands | Never retry. Ask for a new payment method, with a generic message |
| Stop payment order | Stripe stop_payment_order, revocation_of_authorization, revocation_of_all_authorizations; Visa R0, R1, R3 | The cardholder told their bank to stop paying you, or to stop all recurring payments | Never retry. Treat it as a cancellation and contact the customer |
| Authentication required (Europe) | Stripe authentication_required; Visa 1A | The issuer wants strong customer authentication on this charge | Bring the customer back to complete 3D Secure on session |
| Blocked as fraud | Stripe fraudulent, highest_risk_level, merchant_blacklist; Visa 59 | Your processor's fraud screen, your own block list, or the issuer suspects fraud | Don't retry a block from your own rules; review it. Never reveal the reason to the customer |
A few of these deserve more than a table row.
Stop payment orders are cancellations. Visa's codes R0, R1 and R3 are "stop payment order" and "revocation of authorization" orders, placed by the cardholder with their bank.4Visa Core Rules and Visa Product and Service Rules, April 18, 2026 Retrying won't work and isn't allowed. A customer who goes to that length usually didn't find your cancellation path. Making cancellation easy, as Visa requires for subscriptions,4Visa Core Rules and Visa Product and Service Rules, April 18, 2026 is covered in negative option billing, and the dispute side in chargeback prevention.
Fraud declines hit the first payment hardest. Issuers can decline when they see large purchases or many transactions in a short period.1Stripe Docs, Card declines At Stripe, generic_decline can also mean that Radar or Adaptive Acceptance blocked the payment before it reached the bank.2Stripe Docs, Decline codes When the first payment of a subscription fails, the subscription stays incomplete, and if the customer doesn't pay within 23 hours, it expires.10Stripe Docs, How subscriptions work That's a lost sign-up, not a churned subscriber, and it belongs in your fraud settings review, not your dunning.
Do not honor is the hard one. It covers anything the issuer doesn't want to explain. Stripe's suggestion is to look at the CVC and address check results first: if they failed when the card was added, ask the customer to verify them before charging again.1Stripe Docs, Card declines
Never tell the customer it's a lost or stolen card
For lost_card, stolen_card, fraudulent and merchant_blacklist, Stripe's instruction is to show the same message as a generic decline.2Stripe Docs, Decline codes The person reading your email may not be the cardholder.
Which failed renewals can you retry?
Retrying a soft decline is the main recovery tool. Retrying a hard one breaks network rules, costs fees and makes issuers more suspicious of your next charge. Stripe warns that issuers can read extra retries as potential fraud, which increases declines on legitimate charges.1Stripe Docs, Card declines
Visa's rules sort every decline code into four categories, each with its own retry limit. For Category 1, the wording leaves no room:
After receiving a Category 1 Decline Response code, a Merchant must never resubmit an Authorization Request or Account Verification for the same Payment Credential.
| Visa category | Example codes | Retry on the same card |
|---|---|---|
| 1. Issuer will never approve | 04 pick up card, 07 fraud account, 14 invalid account number, 41 lost card, 43 stolen card, 46 closed account, 57 not permitted to cardholder, R0, R1, R3 stop payment and revocation orders | NoNever |
| 2. Issuer cannot approve at this time | 51 not sufficient funds, 59 suspected fraud, 61 exceeds amount limit, 62 restricted card, 65 frequency limit, 91 issuer unavailable, 96 system malfunction | YesUp to 20 attempts in 30 days |
| 3. Data quality: revalidate payment information | 54 expired card, N7 CVV2 failure, 82 negative CVV result; in Europe and CEMEA, 1A additional customer authentication required | YesUp to 20 attempts in 30 days, once the data is fixed |
| 4. Generic | All other codes, including 05 do not honor | YesUp to 20 attempts in 30 days |
Source: Visa Core Rules, table 7-2, p. 538 to 541.4Visa Core Rules and Visa Product and Service Rules, April 18, 2026 Mastercard adds a Merchant Advice Code to some declines: it tells you whether updated card data is available, whether to retry later, or not to retry at all.1Stripe Docs, Card declines3Stripe Docs, Network decline codes
Stripe Billing applies the same logic. It won't retry a renewal after these codes: incorrect_number, lost_card, pickup_card, stolen_card, revocation_of_authorization, revocation_of_all_authorizations, authentication_required, highest_risk_level and transaction_not_allowed. Retries stay scheduled, but they only run once the customer adds a new payment method.5Stripe Docs, Automate payment retries
Count attempts per card, not per processor
If you run more than one processor, the networks count attempts on the card, wherever they come from. A retry on a second processor is still a retry. Visa also forbids changing data such as the MCC, the merchant country or the acquiring identifier to get a declined payment through.4Visa Core Rules and Visa Product and Service Rules, April 18, 2026 How cascading fits those rules is covered in dynamic payment routing.
When to retry a failed renewal
Timing matters more than count. A card short of funds on Monday may be fine after payday; a retry ten seconds later rarely changes the answer.
0
Retries allowed by Visa after a Category 1 decline, on the same card
20 in 30 days
Visa's cap on attempts for Category 2, 3 and 4 declines
8 in 2 weeks
Stripe's recommended default for Smart Retries
Stripe's documentation gives the practical boundaries. It recommends a maximum of eight retries for a charge that allows them.1Stripe Docs, Card declines Smart Retries picks the moments with a model that uses signals such as how many devices presented the card recently, and the time of day: Stripe notes that debit card payments in some countries do slightly better at 12:01 AM local time. The window can be set to 1 week, 2 weeks, 3 weeks, 1 month or 2 months.5Stripe Docs, Automate payment retries If you write your own schedule instead, Stripe's custom rules allow up to three retries, each a set number of days after the previous one.5Stripe Docs, Automate payment retries
Three rules hold whatever tool you use:
- Match the retry to the code. Insufficient funds: spread retries over days, not hours. Expired card: don't retry the old details at all, wait for the updated card. Issuer unavailable or system malfunction: retry soon, nobody actually said no.
- Stop when the window ends. At Stripe, after the final retry the subscription is canceled, marked unpaid, left past due or paused, depending on your settings. No further attempts are made.5Stripe Docs, Automate payment retries
- Retry the right payment method. Stripe retries the first available method in a fixed order, starting with the subscription's default payment method. If the customer adds a card at the customer level but the subscription has its own default, Stripe keeps retrying the old one.5Stripe Docs, Automate payment retries
Retries are one part of recovery. The emails, grace period and the order of steps after a failure are covered in what dunning is.
Inside Tagada
Build the funnel once, route every customer to the right offer
Checkout, upsells and subscriptions on one flow, with conditions per country, order or customer.

How to prevent subscription payment failures before renewal day
Most failed renewals can be prevented before the charge. These are the levers, roughly in order of how much work they save.
Keep saved cards current: card account updater and network tokens
Card numbers and expiry dates change, and outdated card data is one of the common causes of declines on saved cards.7Stripe Docs, Payments optimization (card account updater, network tokens) Two tools fix it without the customer:
- Card account updater. The networks pass new card details to processors when a bank reissues a card. Stripe uses these services and updates saved cards automatically, for an expired card or one replaced after loss or theft. Coverage is wide in the US for Visa, Mastercard, American Express and Discover, varies elsewhere, and you can't tell in advance which cards are covered.6Stripe Docs, How cards work (automatic card updates)
- Network tokens. A token issued by the card network stands in for the card number, and can keep working with up-to-date credentials when the underlying card changes.7Stripe Docs, Payments optimization (card account updater, network tokens) Stripe also notes that Mastercard charges a Credential Continuity Program fee when a payment is attempted with outdated card details, which tokens help avoid.7Stripe Docs, Payments optimization (card account updater, network tokens)
Visa's rules explain the gaps. In the US, issuers must enroll their card ranges in Visa Account Updater, except commercial and prepaid cards. In Europe, prepaid cards are excluded too. When a card is reissued, the issuer must submit the new number and expiry date within 2 business days of activation, and it can send "contact cardholder" instead of new details when the cardholder opts out or for risk reasons.4Visa Core Rules and Visa Product and Service Rules, April 18, 2026 So a prepaid card, or a card from an issuer that doesn't share the update, still reaches renewal day with dead details.
Remind customers before the charge
A reminder sent before renewal catches what the updater misses. Stripe Billing can send an email one month before a customer's default card expires, plus renewal reminders a configurable number of days before the period ends. Each includes a link where the customer can update their payment method.8Stripe Docs, Automate customer emails
For trials and introductory offers, the reminder is also a rule. Visa requires subscription merchants to notify the cardholder at least 7 days before a trial, introductory offer or promotion ends, with the amount, the date of the next payments and a simple way to cancel.4Visa Core Rules and Visa Product and Service Rules, April 18, 2026 A customer who knows the charge is coming is more likely to have funds, and less likely to call it fraud.
Fig. 2A pre-renewal calendar
- One month before card expiryExpiring card email with an update link
- 7 days before trial endsAmount, date and cancellation link (Visa)
- Days before renewalRenewal reminder with an update link
- Renewal dayMerchant-initiated charge
- After a declineRetries and dunning by decline code
Fix the card before the bank refuses it
Authenticate at sign-up, and plan for the exceptions in Europe
In the European Economic Area, card payments fall under strong customer authentication. Renewals charged with a saved card while the customer is away can qualify as merchant-initiated transactions, which technically fall outside SCA. The conditions: authenticate the card when you save it, and have the customer agree to future charges.12Stripe Docs, Strong Customer Authentication exemptions For a series of payments of the same amount to the same payee, the European rules exempt every payment after the first authenticated one.13Commission Delegated Regulation (EU) 2018/389, RTS on strong customer authentication
That's not a guarantee. Stripe states that exemptions aren't guaranteed and that off-session payments might still require authentication by the bank, and that banks can decline payments that need 3D Secure but don't have it.11Stripe Docs, Strong Customer Authentication readiness When that happens, the renewal fails with authentication_required, which Smart Retries won't retry.5Stripe Docs, Automate payment retries The fix is to bring the customer back: Stripe Billing can email a hosted link where the customer confirms the payment, with reminders until they do.8Stripe Docs, Automate customer emails The trade-offs of authentication are covered in payment authentication.
Keep a second payment method in reach
A customer whose card keeps failing may have another way to pay. Collect a backup card or a bank debit with the customer's agreement to use it, and make updating easy from the reminder emails. Check how your billing tool handles it: Stripe Billing retries one payment method, the first available in its order, and doesn't fall back to another saved card on its own.5Stripe Docs, Automate payment retries A wallet or a local payment method at sign-up can also reduce failures for customers who rarely use cards.
Use a statement descriptor customers recognize
A billing descriptor that matches your brand doesn't change the issuer's decision on a renewal. It changes what happens next: a customer who recognizes the charge doesn't call their bank, file a dispute, or place a stop payment order that kills every future renewal.
Updater and tokens
Refresh expired and replaced cards before renewal day, without the customer.
Reminders
Expiring card and renewal emails catch what the updater misses.
Authenticate at sign-up
In Europe, an authenticated saved card keeps renewals outside SCA in most cases.
Backup method
A second way to pay, collected with consent, for when the first one stays declined.
ACH and SEPA renewals fail differently
Bank debits don't decline at checkout. They fail days later, and the customer's bank can take the money back long after you've counted it. The mechanics differ by scheme:14Stripe Docs, ACH Direct Debit payments15Stripe Docs, SEPA Direct Debit payments
| ACH Direct Debit (US) | SEPA Direct Debit (euro area) | |
|---|---|---|
| When you know it failed | Up to 4 business days after the charge | Most failures within 6 business days; Stripe says to wait at least 6 before treating it as paid |
| Common failure reasons | Insufficient funds (R01, R09), closed account (R02), invalid details (R03, R04), no authorization (R05, R07, R10 and others) | Insufficient funds (AM04), closed account (AC04), invalid IBAN (AC01), missing or revoked mandate (MD01), customer refund request (MD06) |
| Automatic retries at Stripe | Insufficient funds only, 2 retries within 40 days | Insufficient funds only, 2 retries within 30 days |
| Customer's dispute window | 60 calendar days for a personal account, 2 business days for a business account | 8 weeks with no questions asked; up to 13 months if unauthorized |
| What kills the mandate | A dispute invalidates it; a second dispute blocks the account at Stripe | The customer can cancel it with you or their bank; Stripe only learns when a payment fails |
Two traps are specific to subscriptions. First, with delayed-confirmation methods like ACH, a Stripe subscription can become active right away; if the payment fails later, the invoice is voided but the subscription stays active.10Stripe Docs, How subscriptions work Your access rules have to check the payment, not just the subscription status. Second, the notice rules: for ACH, you must give at least 7 calendar days' notice if you change the timing of recurring debits.14Stripe Docs, ACH Direct Debit payments For SEPA, the rulebook requires a notice before each debit; 14 calendar days is standard, a shorter delay is allowed if the mandate says so, and a fixed-amount subscription can list several upcoming debits in one notice.15Stripe Docs, SEPA Direct Debit payments More on US bank debits in ACH payment processing.
How to measure failed payments and involuntary churn
You can't fix what you lump together. Stripe's revenue recovery analytics use a split that works with any billing tool:9Stripe Docs, Revenue recovery analytics
| Metric | Definition | What it tells you |
|---|---|---|
| Failure rate | Share of subscription payment volume that failed on the first attempt | How much prevention work is left (updater, reminders, authentication) |
| Recovery rate | Share of failed volume recovered by any means: retries, emails, other attempts | How well your retries and dunning work |
| In recovery | Failed volume still being retried | Why the last two months look worse than they will be |
| Failed volume by decline reason | Top decline codes by failed volume | Which fix to work on first |
| Involuntary churn | Subscriptions ended because a failed payment was never recovered ÷ active subscriptions at the start of the period | Revenue lost to payments, kept apart from cancellations |
The first four are Stripe's definitions. Stripe's data covers recurring payments only and excludes the first invoice after a trial.9Stripe Docs, Revenue recovery analytics The last one is a working definition: keep it next to your churn rate, not inside it.
- Export renewal attempts for a full period. Leave out first payments: they're an acceptance and fraud question.
- Keep the first attempt apart. Failure rate is measured on the first try. Retries go in the recovery numbers.
- Tag each failure with its decline code and group them into the families above: funds, card data, generic, dead card, stop payment, authentication, fraud.
- Follow each failed invoice to its end. Recovered by retry, by the customer updating their card, or lost.
- Count the subscriptions that ended unpaid. That's your involuntary churn for the period.
- Split by card type, country and processor. Prepaid cards, cross-border cards and one processor often explain most of the gap.
Stripe warns that the recovery rate dips for the current and previous month while retries are still running. Compare complete periods only.
The metrics also connect to your payment acceptance rate: renewals are merchant-initiated, so they belong on their own line in that report too.
Where Tagada fits
How Tagada helps
Subscriptions and payments in one place
Tagada runs subscriptions (trials, billing cycles, dunning and automatic retries) next to the checkout. Payments can be routed across Stripe, Adyen and Tagada's own processor, TagadaPay, with one set of rules and a cascade on decline. The card vault moves customers between merchant accounts without collecting their cards again, so running subscriptions keep charging, and TagadaPay includes native 3DS2. Pricing is on the pricing page. Tagada follows Visa and Mastercard rules and the laws that apply to payments.
Whatever you use, the order of work is the same: read the decline codes, keep saved cards current, remind customers before the charge, retry only what the rules allow, and measure failure and recovery apart.
Frequently asked questions
Why are my subscription payments failing?
How many times can you retry a failed subscription payment?
What is involuntary churn?
What happens to a subscription when a payment fails?
How do I stop failed payments from expired cards?
Why do subscription payments fail in Europe when the first one worked?
Sources
Checked October 14, 2026- Stripe Docs, Card declines
- Stripe Docs, Decline codes
- Stripe Docs, Network decline codes
- Visa Core Rules and Visa Product and Service Rules, April 18, 2026
- Stripe Docs, Automate payment retries
- Stripe Docs, How cards work (automatic card updates)
- Stripe Docs, Payments optimization (card account updater, network tokens)
- Stripe Docs, Automate customer emails
- Stripe Docs, Revenue recovery analytics
- Stripe Docs, How subscriptions work
- Stripe Docs, Strong Customer Authentication readiness
- Stripe Docs, Strong Customer Authentication exemptions
- Commission Delegated Regulation (EU) 2018/389, RTS on strong customer authentication
- Stripe Docs, ACH Direct Debit payments
- Stripe Docs, SEPA Direct Debit payments
Tagada
Running subscriptions? Keep renewals charging across processors
Funnels, one-click upsells, subscription billing and payment routing, on one customer record.
- 01Create your free account
- 02Connect your store or build a checkout
- 03Launch funnels, upsells and subscriptions
