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.