On this page
- How soft declines work
- Visa's four-category decline system
- Mastercard Merchant Advice Codes (MACs)
- Authentication Required — SCA-triggered soft declines
- PSP-level code translation
- Revenue impact (as-of 2026)
- Smart retry recovery benchmarks (as-of 2026)
- What practitioners report
- Network compliance: key thresholds (as-of 2026)
- Key terms
Soft Decline
Soft Decline
A soft decline is a temporary card payment refusal where the card itself is valid but a transient condition — insufficient funds, issuer unavailability, or a missing authentication step — prevented approval at that moment. Unlike a Hard Decline (lost/stolen card, closed account, confirmed fraud), a soft decline is retriable: the same card can succeed on a subsequent attempt once the underlying condition resolves. Between 70% and 90% of all failed card-not-present payments are estimated to be soft declines, making them the primary driver of Involuntary Churn in subscriptions and a key target for Smart Retries, Adaptive Acceptance, and Network Tokenisation strategies (as-of 2026-06-02).
How soft declines work
When a cardholder's bank (the issuer) declines a transaction, it returns an ISO 8583 response code to the card network, which forwards it to the acquirer and then to the merchant's processor. The processor translates this code into its own terminology — for example, Stripe returns text strings like insufficient_funds or do_not_honor, while Adyen returns numeric codes requiring cross-reference to their documentation (as-of 2026, Primer). Approximately 160 distinct decline reasons exist across the major networks, though the soft/hard boundary is not always clean (GR4VY 2026-06-02).
The key practical distinction is whether a retry is permitted, and under what conditions.
Visa's four-category decline system
In 2020, Visa restructured all decline codes into four categories to force issuers to signal retryability explicitly (retries.com, Visa Decline Categories Guide):
| Category | Label | Retry permitted? | Key codes |
|---|---|---|---|
| 1 | Hard / never approve | ❌ Zero retries | 04 (pick up), 07 (fraud), 12 (invalid transaction), 15 (no such issuer), 41 (lost card), 43 (stolen card), 46 (closed account), 57 (transaction not permitted), R0/R1/R3 (stop-payment / revocation) |
| 2 | Soft — temporary | ✅ Up to 15 in 30 days | 51 (insufficient funds), 91 (issuer unavailable), 96 (system malfunction), 61 (exceeds limit), 65 (exceeds frequency), 75 (allowable PIN tries exceeded) |
| 3 | Data error — fix then retry | ✅ Up to 15 in 30 days (after fixing data) | 14 (invalid card number), 54 (expired card), 55 (incorrect PIN), 82 (CVV failure), 1A (authentication required / 3DS), 6P (verification data failed), N7 (CVV2 failure) |
| 4 | Generic catch-all | ✅ Up to 15 in 30 days | 05 (do not honor), 62, 63 |
(as-of retries.com Visa Decline Categories Guide, undated but post-2020)
Code 05 "Do Not Honor" is the most common generic code across card networks, representing roughly 40–50% of all Visa declines, despite being a catch-all that masked everything from insufficient funds to confirmed fraud before the 2020 restructuring. Visa now caps Category 4 usage at 5% of an issuer's total declines, with fines for issuers that exceed this cap (as-of retries.com). Visa's categories are updated annually in its Visa Transaction Processing Rules document.
Visa retry window — 30 vs 120 days: Slicker (slickerhq.com, 2026-06-16) states "15 retry attempts per card per 30-day window." GR4VY (gr4vy.com, 2026-06-02) states "15 attempts within a 120-day period." Both are 2026 sources. The retry cap of 15 appears consistent; the rolling window duration (30 vs 120 days) is unresolved without direct access to the Visa Transaction Processing Rules document.
Mastercard Merchant Advice Codes (MACs)
Mastercard supplements its decline codes with Merchant Advice Code (MAC)|Merchant Advice Codes (MACs) that carry explicit retry guidance. A MAC must be read alongside the decline code to determine the correct action (Primer, undated):
- MAC 22 — retry is permitted (even with a Do Not Honor code)
- MAC 03, 21 — stop immediately; do not retry
- MACs 79, 82, 83 — retry is suggested
A merchant who retries on MAC 03 or MAC 21 will face compliance penalties. A "Do Not Honor" code alone does not indicate whether a retry is safe; the MAC is the authoritative signal (Primer, undated; Slicker 2026-06-16).
As of January 1, 2026, Mastercard raised its Excessive Authorization Attempt fee to $0.50 per retry beyond the threshold (up from $0.10), applying after 20 attempts on the same card within 24 hours — a fivefold increase designed to curb card-testing fraud and over-aggressive retry behaviour (as-of Beast Insights Card Scheme Compliance 2026).
Authentication Required — SCA-triggered soft declines
Under Strong Customer Authentication (SCA / PSD2), issuers in the EEA are required to decline transactions that lack sufficient authentication. These return a distinct soft decline code — and are recoverable by resubmitting with 3DS authentication:
| Network | Authentication Required code |
|---|---|
| Visa | 1A |
| Mastercard | 65 |
| American Express | 130 |
| Diners | 103 |
| Dankort | 132 |
(as-of Adyen Authentication Required help article, undated)
When Adyen's integration supports 3D Secure 2 (3DS2), it automatically retries via 3DS unless executeThreeD: false is present (Adyen, undated). For out-of-session customers (e.g., subscription renewals), the cardholder must be brought back to authenticate — for example, via Pay By Link (Adyen 2026-04-23).
Regulatory tightening — France (as-of 2025-03-10): Banque de France guidance directed French issuers to soft decline all customer-initiated authorization exemptions (e.g., Transaction Risk Analysis) except those requested via EMV 3DS. A preceding October 2024 guidance capped the total exemption authorization amount at EUR 100 per shopper per day (as-of Adyen 3DS docs). See also Strong Customer Authentication (SCA / PSD2).
Japan (as-of 2025-04-01): Japan's SCA guidelines now require 3DS2 on all card transactions; non-compliant transactions face elevated soft decline rates from Japanese issuers (Adyen 3DS docs).
Adyen's 2020 article on Auto Rescue stated "Visa currently mandates four retries over a 16-day period." Current 2026 sources consistently report 15 retries. This reflects a rule change between 2020 and 2026; the 2020 figure is outdated.
PSP-level code translation
Processors translate network codes into their own terminology. Key differences (as-of 2026):
Stripe — uses readable text strings. Soft decline codes include: do_not_honor, insufficient_funds, issuer_not_available, processing_error, approve_with_id, reenter_transaction. Hard decline codes include: lost_card, stolen_card, pickup_card, expired_card, incorrect_number (Stripe Decline Codes, live docs).
Stripe also exposes two actionable fields on the Charge object (as-of API version 2024-12-18):
network_advice_code— values:try_again_later,do_not_try_again,confirm_card_data(and Mastercard MACs)network_decline_code— the issuer's raw network code
Stripe Billing treats authentication_required as a hard decline for automatic retries — retries schedule but will not execute without a new payment method or customer authentication (Stripe Smart Retries docs, live).
Adyen — uses numeric codes. Code 05 "Do Not Honor" is the standard ISO 8583 generic decline; Adyen warns merchants not to retry immediately as it may look like fraud (Adyen 2026-04-23).
Revenue impact (as-of 2026)
- Subscription businesses lose approximately 9% of revenue to failed payments (GR4VY 2026-06-02)
- 70% of involuntary churn stems from failed transactions (GR4VY 2026-06-02)
- 40% of customers falsely declined never return to the merchant (Stripe 2026)
- r/SaaS practitioners report 4–7% MRR lost monthly to payment declines; 38% of total churn identified as involuntary in one founder analysis (2025, via dev.to synthesis of r/SaaS)
"$129 billion lost to payment failures in 2025" — GR4VY 2026-06-02; this is a projected/retroactive figure cited without a primary source URL. Treat as directional only.
Smart retry recovery benchmarks (as-of 2026)
| Metric | Figure | Source |
|---|---|---|
| First-attempt soft decline recovery | 20–40% | GR4VY 2026-06-02 |
| Cumulative recovery (3–5 attempt sequence) | 60%+ | GR4VY 2026-06-02 |
| Stripe Smart Retries average recovery | 57% of originally failed payments | Stripe docs |
| Stripe Authorization Boost acceptance rate uplift | +3.8% | Stripe Sessions 2026 |
| Multi-PSP retry routing additional uplift | +2–5 pp vs same-PSP retries | GR4VY 2026-06-02 |
| Network token decline reduction (card-on-file) | 15–25% | GR4VY 2026-06-02 |
Adyen Auto Rescue / Pinterest quote: "At Pinterest we know how important it is to factor in payday into our retry logic." (Adyen 2020-12-04 — stale but the payday-timing principle is confirmed by multiple 2026 sources)
Smart retry tools include:
- Stripe Smart Retries — ML model trained on 500+ attributes including device signals and optimal local charge times; default 8 attempts over 2 weeks (configurable 1 week–2 months) (Stripe docs)
- Adyen Uplift / Auto Rescue — ML-optimised timing for subscription renewals (Adyen 2020, product naming updated by 2026 to "Adyen Uplift")
- Multi-PSP routing — routing a retry through a different acquirer can recover an additional 2–5 pp beyond same-PSP retries (GR4VY 2026)
Geographic timing (Slicker 2026-06-16, as-of):
- US — Monday/Tuesday mornings (to catch weekend direct deposits)
- Western Europe — 1st and 15th of month (salary cycles)
- Australia — Thursday/Friday mornings
What practitioners report
Multiple Shopify merchants in the Danish market reported sudden spikes to 90%+ "Do Not Honor" decline rates after weeks of normal processing; switching to a different acquirer (e.g., Airwallex from Shopify Payments/Stripe) immediately resolved the issue. Practitioners diagnosed this as Danish issuers systematically blocking cross-border card-not-present transactions from non-Scandinavian merchants — not a PSP bug (Shopify Community 2024–2025).
Dunning management and smart retry timing were "one of the most frequently cited features" by SaaS founders discussing churn prevention on Reddit; Stripe with Invoicing + Smart Retries, Chargebee, and Paddle were the most recommended gateways specifically for soft-decline recovery (dev.to synthesis of r/SaaS threads, 2025).
Network compliance: key thresholds (as-of 2026)
| Rule | Current status |
|---|---|
| Visa retry cap (Categories 2–4) | 15 retries in [30 or 120] days — window disputed |
| Visa Category 1 retries | Zero — every retry incurs $0.10/$0.15 domestic/cross-border fee |
| Visa Category 2–4 excess fee | $0.10 domestic / $0.15 cross-border per attempt beyond cap |
| Mastercard excessive attempt fee | $0.50 per attempt beyond 20 in 24 hours (from 2026-01-01) |
| Visa VAMP merchant threshold | 1.5% fraud+dispute rate (from 2026-04-01) |
| Stripe max recommended retries | 8 retries within 2 weeks |
Key terms
| Term | Meaning |
|---|---|
| Hard Decline | Permanent card refusal — lost, stolen, closed account, confirmed fraud. Do not retry. |
| Soft Decline | Temporary refusal — retriable once the blocking condition resolves. |
| False Decline | A legitimate transaction incorrectly blocked by fraud detection or billing address mismatch; not the same as a soft decline and not retry-eligible under the same rules. |
| Do Not Honor (Code 05) | Most common generic decline code; roughly 40–50% of Visa declines; catch-all that may mask both soft and hard reasons. |
| Merchant Advice Code (MAC) | Mastercard field indicating specific retry action; MAC 22 = permitted, MAC 03/21 = stop. |
| Authentication Required | SCA-triggered soft decline requiring 3DS resubmission (Visa: 1A, MC: 65). |
| Category 1–4 | Visa's four-bucket decline taxonomy introduced in 2020 to signal retryability explicitly. |
network_advice_code | Stripe API field (from Dec 2024) surfacing network-level retry guidance. |
| Excessive Reattempt Fee | Card network penalty for exceeding retry cap; Mastercard $0.50/attempt from Jan 2026. |