Shopify Subscription Failed Payments: Why Renewals Decline and How to Fix Them
Most Shopify subscription renewals fail because the customer's bank declines a stored card, often for insufficient funds, an expired or replaced card, or a transaction the bank doesn't recognize as an expected recurring charge. You fix it by reading the decline reason, retrying only soft declines on a sensible schedule, and making sure your payment processor flags and updates stored cards correctly, not just by changing your subscription app's dunning emails.
Key takeaways
- A Shopify renewal involves three parties: your subscription app (schedule, retries, emails), your gateway or processor (how the charge is flagged and which decline code comes back), and the card issuer (the actual yes or no).
- Soft declines like insufficient funds are worth retrying; hard declines like lost, stolen, or closed accounts are not, and retrying them can cost per-attempt fees and break card brand reattempt rules.
- The most overlooked fixes sit in the processor setup: stored-credential flagging, account updater, and network tokens, which prevent declines before dunning ever starts.
- Timing matters: billing date, retry spacing, and a pre-expiry card update email often recover more than extra retries do.
- Use the Failed Payment Revenue Loss Calculator to put a dollar figure on your own failed renewals before deciding what to change.
How a Shopify subscription renewal actually gets charged
When a customer subscribes, your subscription app creates a contract and stores the customer's payment method through Shopify and your connected payment gateway. On each renewal date, the app triggers a billing attempt. Shopify passes that charge to your gateway using the stored card, the gateway sends it to the card network, and the customer's issuing bank approves or declines it. The result comes back to the app, which then runs whatever retry and email rules you configured.
That chain matters because each link owns a different part of the problem. The app controls when you charge, how often you retry, and what the customer is told. The gateway and processor control how the transaction is labeled, whether stored cards get refreshed when a bank reissues them, and how much detail you see about why a charge failed. The issuer makes the decision, based on available funds, card status, and whether the charge looks like something the cardholder agreed to.
Renewals are card-not-present, merchant-initiated transactions: the customer isn't there to type a code or approve anything. Issuers tend to scrutinize those more, so small setup details carry more weight than they would at a checkout page.
Read the decline reason before you change anything
Every decline comes back with a response code, and the code tells you whether retrying makes sense. Soft declines are temporary: insufficient funds, a generic do-not-honor, an issuer system timeout, or an exceeded limit. These often succeed a few days later. Hard declines are permanent for that card: lost or stolen card, closed account, invalid card number, or a pickup instruction. No retry schedule will turn those into approvals; you need a new card from the customer.
Expired cards sit in between. The account is usually still open, but the expiration date on file is wrong. Some of these can be fixed silently through an account updater service; the rest need the customer to update their card.
Where you look matters. Your subscription app's failed billing log may show a generalized message like "card declined." Your gateway or processor reporting usually shows the raw issuer response code, which is what you need to sort soft from hard. Pull a month of failed renewals, group them by code, and you'll know quickly whether your problem is mostly insufficient funds (a timing and retry issue) or mostly dead cards (an update and outreach issue).
What most articles get wrong: this isn't only an app settings problem
Most advice on Shopify subscription failed payments stops at the subscription app: turn on dunning, add more retries, write a friendlier email. Those help, but they all act after the decline. Some of the biggest wins prevent the decline in the first place, and they live in your gateway and processor setup.
Start with stored-credential handling. Card brands have rules for charges made on a saved card. The first transaction, where the customer agrees to recurring billing, should be flagged as customer-initiated with consent to store the card, and each renewal should be flagged as a merchant-initiated recurring charge that references the original transaction. When that labeling is missing or wrong, renewals can look like unexpected card-not-present charges, and some issuers decline them. Ask your processor whether your renewals are flagged this way; you shouldn't have to guess.
Next is card lifecycle updating. Banks reissue cards constantly after expirations, fraud events, and product changes. Account updater services and network tokens can refresh the stored credential so the renewal goes through on the new card without the customer doing anything. Whether you have access to these depends on your gateway and processor, not your subscription app.
Finally, more retries is not automatically better. Each authorization attempt can carry a per-transaction or authorization fee from your processor, even when it declines. Card brands also publish reattempt rules that limit how often you can retry a declined charge and say certain decline codes should never be retried, with fees possible for excessive or prohibited reattempts. Rules and fee amounts change, so confirm the current ones with your processor. An app that retries every failure four times regardless of code is paying to be told no.
Run your own numbers
See how much subscription revenue slips away to declined cards each year and how much better recovery could win back.
Open the free Failed Payment Revenue Loss Calculator Book a 15-minute callWorked example: what failed renewals cost one store
Here's a made-up but realistic example. A Shopify store selling a coffee subscription has 2,000 active subscribers paying $40 a month, or $80,000 in monthly renewals. Assume 6% of renewals fail on the first attempt. That's 120 failed renewals, or $4,800 a month at risk.
Assume the store currently recovers 40% of those through retries and emails. It wins back 48 renewals ($1,920) and loses 72 ($2,880) every month, which is $34,560 a year in renewal charges, before counting the future months those customers would have stayed. If better decline-code handling, account updating, and timing raised recovery to 60%, it would lose 48 renewals ($1,920) a month, or $23,040 a year. The difference is $11,520 a year from the same customer base.
Now the retry cost. Assume the app retries every failure four times, which is 480 extra authorization attempts a month. At an assumed $0.10 per attempt, that's $48 a month. Small on its own, but if a third of those failures are hard declines, 160 of those attempts each month are spent on charges that cannot succeed and may run into card brand reattempt rules.
Your numbers will differ. The Failed Payment Revenue Loss Calculator (https://touchsuite.com/tools/failed-payment-revenue-loss-calculator) lets you enter your subscriber count, price, failure rate, and current recovery rate to see how much subscription revenue slips away each year and how much better recovery could win back. Estimates are based on published industry averages and are not a quote. Actual rates depend on card mix, ticket size, industry, and underwriting.
Setting up your retry schedule and customer outreach
Split your retry logic by decline type if your app allows it. For insufficient funds, space retries across several days and try to land at least one near common paydays, such as the 1st and 15th or a Friday, rather than retrying every few hours. For do-not-honor and other generic soft declines, a couple of spaced retries is reasonable. For hard declines, stop retrying and go straight to asking the customer for a new card.
Get ahead of expirations. You know the expiration date on every stored card, so send a short update-your-card email a couple of weeks before the renewal that would fail. Include a direct link to the customer portal where they can update payment details without logging into a full account.
Keep the email plain: what failed, the amount, the date of the next attempt, and one button to update the card. Make sure your billing descriptor matches the brand name customers know. A charge from an unfamiliar name is more likely to be declined by a cautious issuer or disputed by the cardholder.
How failed payments connect to disputes, holds, and reserves
Recurring billing tends to be viewed as medium risk by underwriters, so your payment behavior gets watched. Aggressive retries on cards that keep declining, especially after a customer has asked to cancel, can turn into "canceled recurring transaction" disputes. Each dispute brings a fee and counts toward your chargeback ratio.
Processors can also respond to rising dispute or decline patterns with tighter terms, such as delayed funding or a rolling reserve that holds back a percentage of your deposits for a period. Clean decline handling, honoring cancellations immediately, and clear descriptors all reduce that risk. If you're unsure how your renewals are flagged or whether you have access to account updating, talk to a payments specialist at https://touchsuite.com/contact before rewriting your dunning flow.
Frequently asked questions
Why do Shopify subscription payments fail when the card worked at checkout?
The first charge happened with the customer present, while renewals are merchant-initiated charges on a stored card. Since then the card may have expired, been reissued, run low on funds, or the issuer may be treating the renewal as an unexpected charge if it isn't flagged correctly as a recurring stored-credential transaction.
How many times should I retry a failed subscription payment?
It depends on the decline code. Soft declines like insufficient funds are worth a few retries spaced over several days. Hard declines like lost, stolen, or closed accounts should not be retried at all. Card brands publish reattempt limits, so check current rules with your processor before setting a schedule.
Can my subscription app alone fix failed payments?
It can handle retry timing and customer emails, which helps. But account updating, network tokens, and correct stored-credential flagging depend on your gateway and processor, and those prevent many declines before the app's dunning flow even starts.
Do I pay fees on declined renewal attempts?
Often, yes. Many processors charge an authorization or per-transaction fee whether the charge is approved or declined, and card brands may assess fees for excessive or prohibited reattempts. Check your merchant statement and processor agreement for the exact charges.
How do I estimate how much revenue I'm losing to failed renewals?
Multiply your monthly renewals by your first-attempt failure rate, then by the share you don't recover, and annualize it. The Failed Payment Revenue Loss Calculator does this for you and shows how much a better recovery rate could win back.
How we put this together
The worked example uses invented numbers (2,000 subscribers, $40 price, 6% first-attempt failure, 40% and 60% recovery) to show the arithmetic, not to describe any real store or industry average. The $0.10 per-attempt figure is a labeled assumption drawn from the estimated pricing inputs our calculator uses, not a TouchSuite rate. Descriptions of stored-credential flagging, soft versus hard declines, account updater, network tokens, and reattempt limits reflect card brand rules as generally published; brands revise these rules and fees periodically, so confirm current requirements with your processor. To check your own situation, pull failed renewals from your subscription app and the raw response codes from your gateway or processor reporting, and look for authorization or decline fees on your merchant statement. Estimates are based on published industry averages and are not a quote. Actual rates depend on card mix, ticket size, industry, and underwriting. Written for current Shopify subscription setups; app and gateway features vary, so verify what your specific app and processor support.
Estimates are based on published industry averages and are not a quote. Actual rates depend on card mix, ticket size, industry, and underwriting.