Why Subscription Payments Fail on Shopify — And How to Fix Every Type
Your subscriber didn't cancel. They didn't switch to a competitor. They didn't even open your cancellation flow.
Their credit card expired. And just like that, they're gone.
This is involuntary churn—subscribers lost to payment failures, not dissatisfaction. It accounts for 20–40% of all subscription churn and costs the subscription industry an estimated $440 billion annually—more than 10x what businesses lose to fraud.
According to Recurly's research across 1,200+ subscription businesses, the average brand risks losing 7.2% of subscribers each month to failed payments alone. For a store doing $500K in annual subscription revenue, that's tens of thousands of dollars disappearing from customers who never wanted to leave.
Here's what most brands get wrong: they treat all failed payments the same. One retry schedule. One generic email. One outcome—cancellation.
But payment failures aren't one problem. They're six different problems, each with a different cause and a different fix. This guide breaks down every type of subscription payment failure on Shopify, what causes it, and how to recover from it.
How Shopify processes subscription payments (and where it breaks)
When a subscriber's billing cycle hits, your subscription app sends a charge request through Shopify's checkout infrastructure. Shopify passes this to your payment gateway—Shopify Payments (powered by Stripe), Authorize.net, or Adyen. The gateway forwards the request to the card network (Visa, Mastercard), which routes it to the issuing bank for approval.
That chain—subscription app → Shopify → gateway → card network → issuing bank—means there are multiple points where a transaction can fail. The issuing bank sends back a decline code, and there are over 2,000 unique codes. But they all fall into two categories:
Soft declines are temporary. The card is valid, the account is open, but something—insufficient funds, a bank hold, a network timeout—prevented the charge right now. These can succeed on retry.
Hard declines are permanent. The card is expired, stolen, or the account is closed. Retrying won't work. You need new payment information.
This matters because retrying a hard decline wastes transaction fees and can negatively impact your authorization rates over time. Payment processors factor your decline ratio into risk assessments—a pattern of repeated failed retries can work against you, potentially affecting approval rates on future transactions.
The six failure types below are organized by this distinction. The first three are soft declines—temporary, recoverable with the right retry strategy. The last three involve hard declines or ambiguous codes that require subscriber action.
Soft declines: temporary failures that recover with the right timing
These are the failures where nothing is fundamentally wrong with the subscriber's card or account. The charge didn't go through right now, but it can succeed later—if your retry logic gives it the chance.
1. Insufficient funds
The most common reason subscription payments fail. The subscriber's account didn't have enough money at the moment you charged them.
This doesn't mean they can't afford your product. It means your billing cycle and their cash flow are out of sync. Charge on the 1st, but their paycheck hits on the 15th.
Why basic retry fails here: Fixed-interval retries (every 24 hours, three times) keep hitting the same empty window. If you exhaust all attempts within 72 hours, you never reach the day their balance replenishes.
How to fix it:
Spread retries across a full billing cycle. Don't burn all attempts in the first week. Space retries to cover common deposit dates—the 1st, 15th, and end-of-month. Loop offers up to 15 retry attempts, enough to cover multiple pay periods.
Front-load, then space out. Try 2–3 retries in the first few days (catches temporary holds), then spread remaining attempts across the cycle.
Retry silently first. The subscriber doesn't need a "payment failed" email on day one—there's a good chance the next retry succeeds. Loop lets you run silent retries and hold notifications until subscriber action is actually needed.
2. Network and gateway errors
Sometimes the subscriber's card is fine, their balance is fine, everything is fine—but the charge still fails. A timeout, processing error, or temporary outage somewhere in the payment chain is the culprit. The decline code comes back as "generic decline," "processing error," or "try again later." There's nothing wrong on the subscriber's end.
How to fix it:
Quick retries with short intervals. These are the most likely to succeed on immediate retry. Attempt again within a few hours, then in 24 hours.
Don't notify the subscriber. A "payment failed" email for an infrastructure glitch that resolves on the next retry creates unnecessary anxiety. Loop lets you run retries silently while holding notifications until the subscriber needs to act.
Monitor gateway performance. A spike in generic declines may point to a gateway issue, not subscriber issues. Loop's analytics dashboard tracks failure reasons by category and gateway performance across Shopify Payments, Authorize.net, and Adyen.
3. Bank holds and spending limits
Banks impose daily spending limits, velocity limits, and temporary security holds—especially on debit cards. A subscriber who's made several purchases that day may hit their cap right when your subscription charge attempts. This is also common with international subscribers, where cross-border transactions face extra scrutiny.
How to fix it:
Retry at a different time of day. Daily limits reset at midnight in the subscriber's timezone. A charge that fails at 3 PM may succeed the next morning. Loop sends recovery communications during local daytime hours while retries continue silently in the background.
Spread retries across different days and times. With up to 15 attempts, you can catch windows when holds have cleared—especially valuable for high-ticket subscriptions where the charge amount itself may trigger velocity limits.
Surface high-risk subscriptions proactively. Loop identifies subscriptions with patterns that predict failure—repeated soft declines, cards approaching expiration, cross-border charges—so your team can act before the next billing cycle.
Hard declines and ambiguous codes: when retries alone won't work
These failures either require new payment information from the subscriber, or the decline code is too vague to know whether retrying will help. The strategy shifts from "try again" to "get the subscriber to act."
4. Expired cards
Every card has an expiration date, yet this remains one of the top reasons subscription payments fail on Shopify. Card details sit on file for months or years—the subscriber signed up over a year ago and hasn't thought about it since. This is a hard decline. Retrying the expired card won't work.
How to fix it:
Pre-dunning outreach before the card expires. Loop integrates with Klaviyo, Attentive, and other platforms to trigger flows when a card is approaching expiration—typically 30 days out. A simple heads-up email prevents the failure from happening.
Backup payment methods. If a subscriber has a secondary card on file and their primary card is declined, Loop automatically charges the backup. No dunning email. No customer action. The subscription stays [ACTIVE] and the subscriber never knows there was an issue.
One-click card updates via Quick Actions. When a subscriber does need to update, Loop's Quick Actions skip the usual friction. Instead of logging in, navigating to account settings, and finding payment options—they get one link: [Update Payment Method →]. One click opens a drawer in your branded customer portal. Card updated. Done.
Incentivize backup cards proactively. A prompt in the customer portal—"Add a backup card and never miss a shipment"—prevents expired card failures from becoming churn events.
5. Bank security blocks and compromised cards
Issuing banks have become increasingly aggressive with fraud detection. A recurring charge that's been processing fine for months can get flagged—especially if the charge amount changes, the billing descriptor looks unfamiliar, or the bank updates its fraud models. Stolen card declines are permanent: the cardholder reported it, the bank shut the card down. Fraud flags are trickier—the card may still be valid, but the bank is blocking the specific transaction. Either way, retrying hurts more than it helps.
How to fix it:
Stop retrying immediately. Each retry attempt against a flagged or compromised card incurs a transaction fee and adds to your decline ratio. Loop automatically identifies hard declines from fraud codes and skips retries, saving fees and keeping your decline ratio healthy.
Notify with empathetic copy. These subscribers may not know their card was compromised. "Your bank flagged a recent charge—this sometimes happens with card security updates" works better than "PAYMENT FAILED."
Make your billing descriptor recognizable. If subscribers see "STRIPE* UNKNOWN" instead of your brand name, they're more likely to dispute the charge. Configure your Shopify Payments statement descriptor to match your brand.
6. "Do Not Honor" and generic declines
The catch-all code banks send when they don't want to share the specific reason. It covers everything from suspected fraud to internal bank policies to card information the bank hasn't synced yet. These can be soft or hard—you won't know from the code alone, which makes them the hardest to address with a single tactic.
How to fix it:
Treat as soft first, escalate to hard. Retry 2–3 times in the first few days. If those fail, shift to getting new payment information.
Combine retry with notification. Since the cause is ambiguous, retrying while also prompting the subscriber to verify their details covers both scenarios. Loop's segmented Quick Actions let you tailor this—first failure gets "Update your card to continue your subscription," while 3rd+ failure gets "Update now & get 10% off your next order as thanks for staying."
Track patterns over time. A disproportionate share of "Do Not Honor" declines from a specific bank or card type may indicate an issue with how your charges are categorized. Loop's analytics track failure reasons by category to surface these patterns.
Quick reference: every failure type at a glance
Failure Type
Decline
Recovery Approach
Insufficient funds
Soft
Space retries across pay cycles. Silent retries first.
Network / gateway error
Soft
Quick retries, short intervals. Don't notify subscriber.
Bank holds / velocity
Soft
Retry at different times. Timezone-aware scheduling.
Stop retries. Notify with empathy. Keep decline ratio healthy.
"Do Not Honor"
Mixed
Retry first, then escalate. Segment by failure count.
Why Shopify's default dunning doesn't cut it
Shopify's native subscription handling provides basic retry functionality and auto-generated "payment failed" emails. No decline-specific logic, no intelligent timing, minimal customization.
Most third-party Shopify subscription apps improve on this with configurable retry schedules and basic dunning emails. But they still treat every failure the same: retry X times at Y intervals, send Z emails, then cancel.
The problems with this:
Retrying hard declines wastes money. Every failed retry costs a transaction fee and adds to your decline ratio—which payment processors factor into risk assessments for future transactions.
Fixed retry schedules miss recoverable payments. Three retries in 72 hours catches a network error but completely misses an insufficient-funds issue that resolves on payday.
Generic notifications create friction. A subscriber whose payment failed due to a temporary bank hold doesn't need a "payment failed" email for a problem that resolves on its own.
Immediate cancellation destroys subscriber relationships. Most payment failures are recoverable. Canceling after 3 failed retries when you could have recovered on attempt 7 is throwing money away.
A layered approach to payment recovery
Reducing involuntary churn requires matching the right tactic to the right failure type. Here's the framework:
Layer 1: Prevent failures before they happen
The best dunning sequence is the one that never starts.
Pre-expiration alerts: Trigger Klaviyo or Attentive flows 30 days before a card expires. Loop pipes dunning customer tags to these platforms automatically.
Backup payment methods: If the primary card fails, Loop charges the backup through the customer portal—the subscriber never enters the dunning funnel.
Billing date flexibility: If insufficient-funds declines cluster around specific dates, let subscribers choose their billing date through the portal.
Layer 2: Intelligent retries
Dense early, spread later. First 2–3 retries within days (catches network errors). Remaining attempts spaced across the billing cycle (catches payday resolutions).
Use all available attempts. Most apps cap at 3–5 retries. Loop offers up to 15—enough to cover multiple pay periods and clearing windows.
Skip hard declines automatically. Don't waste retries on expired or compromised cards. Loop identifies unrecoverable declines and stops retrying.
Layer 3: Smart communication
Timezone-aware notifications. Loop sends recovery messages during local daytime hours only. A 3 AM email gets buried.
Frictionless resolution. Quick Actions let subscribers update payment methods in one click—no login, no navigation.
Escalating incentives. First failure: friendly reminder. Third failure: 10% off. Last attempt: bigger discount. Loop's segmented Quick Actions set different incentives based on retry count and subscriber value.
Layer 4: End-of-dunning actions
Immediate cancellation shouldn't be the default. Loop lets you configure the right outcome:
Skip and retry next cycle — subscriber misses one shipment but stays subscribed
Pause until resolved — preserves the relationship without more failed charges
Cancel as last resort — only after every recovery path is exhausted
What brands are seeing with Loop
Lumin Skincare saw a 12.6% revenue boost through Loop's payment recovery system in 3 months, with an additional 3% from broader retention strategies.
Mammaly (migrated from Recharge) reported that 30% of subscribers updated payment methods via Quick Actions. Separately, they achieved an 18% reactivation rate through Loop's streamlined customer experience.
OSEA Malibu reduced overall churn from 10% to 5% in 6 months using Loop's combined retention and recovery tools—including cancellation flows, subscriber engagement, and payment recovery working together.
Beyond recovery: making your subscription program failure-resistant
Payment recovery is reactive. The brands with the lowest involuntary churn also play offense:
Engaged subscribers update their cards. A subscriber who logs into the customer portal and sees "🎁 You're 1 order away from a FREE gift!" will update their payment method when asked. A passive subscriber who hasn't thought about their subscription in months won't. Loop Flows build this engagement through gamified rewards and milestone discounts.
Prepaid subscriptions eliminate the problem. A subscriber who's paid upfront for 3 or 6 months has zero involuntary churn risk for that period. Loop's cancellation flows can offer prepaid conversion as a save tactic—removing them from the dunning equation altogether.
Portal flexibility reduces cancellations. Subscribers who can [Skip], [Reschedule], [Swap], or [Pause] directly from the customer portal don't need to cancel when life gets busy. And active subscriptions can't churn involuntarily.
Your subscribers want to stay. Give them every chance to.
Involuntary churn is six different failure types, each demanding a specific response—silent retries for temporary bank holds, one-click card updates for expired cards, immediate cessation for fraud flags.
The brands recovering the most aren't doing anything revolutionary. They're matching the right tactic to the right failure type, giving their systems enough retry capacity to cover real payment cycles, and making it simple for subscribers to update their information when needed.
Loop's payment recovery was built as part of a complete retention platform—smart retries, backup payment methods, Quick Actions, proactive alerts, and subscriber engagement working together.
Ready to stop losing subscribers to failed payments?Book a demo to see how Loop's payment recovery can transform your churn metrics.