Online payment failure is the operational ground truth of recurring billing. Every subscription business will face a steady drumbeat of declines — and how you handle that drumbeat directly determines what your involuntary churn looks like.
The structural failure rate
Even with the best billing setup, 3–8% of recurring charges will fail in any given month for most Shopify subscription stores. The rate varies by category, geography, and customer mix — luxury subscriptions with high price points see higher decline rates (limits, fraud rules) while low-price replenishment products see lower rates (lower-friction transactions). Card brand and geography affect the rate by several percentage points.
What drives online payment failure
- Insufficient funds — 25–35% of declines. Highly recoverable with timing-aware retries.
- Expired cards — 20–30%. Largely solvable via card-updater services.
- Issuer-side fraud blocks — 10–20%. Harder to recover; depends on customer reaching out to their bank.
- Hit credit limit — 5–10%. Time-based recovery once balance frees up.
- Card reported lost or stolen — 3–8%. Card-updater can solve some of these.
- Processor errors and network outages — 1–3%. Usually recoverable with simple retry.
The operational response
- Classify the failure by decline code — recoverable vs. terminal.
- For recoverable failures: smart retry schedule + customer outreach + card updater query.
- For terminal failures: skip retries, prioritize card-update messaging to the customer.
- Monitor patterns — a spike in failure rate from one card brand or one country signals a fixable root cause.
What customers experience
Most customers do not know an online payment failed. The charge fails silently between the merchant and the bank. Whether they ever find out — and whether they fix it — depends entirely on how well you communicate. A clear, friendly email with a one-click update link recovers most of the customers who want to keep their subscription. See payment failure reasons for the failure-code detail and failed recovery for the workflow.