> For the complete documentation index, see [llms.txt](https://docs.reduxpayments.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.reduxpayments.com/recovery-performance/common-reasons-payments-fail-and-how-redux-fixes-them.md).

# Common Reasons Payments Fail And How Redux Fixes Them

{% hint style="success" %}
Most failures are recoverable when you handle the timing and strategy correctly. Redux customizes recovery for each failure type, capturing revenue that standard retry systems miss.
{% endhint %}

Behind every failure, there's an issuer making a decision, risk rules being applied, customer behavior patterns at play, and a payments landscape that's constantly changing. Stripe shows you these outcomes through dozens of decline codes, soft and hard categories, bank-specific quirks, and real-time network conditions.

### **How Redux approaches this differently:**

We treat each failure as its own unique problem. Every decline comes with context, signals, and timing patterns that affect whether a retry will succeed. Redux reads all of this information and picks the recovery strategy with the highest chance of working.

### **Common failure types and our solutions:**

#### **1. Insufficient funds**&#x20;

The customer's balance is too low when you try to charge them.&#x20;

*Redux solution:* We time retries around pay cycles and historical success windows.

#### **2. Do Not Honor / Generic Declines**&#x20;

Banks temporarily block or flag the charge for various reasons.&#x20;

*Redux solution:* We space out retries, avoid patterns that look suspicious, and retry when the bank is more likely to approve.

#### **3. Expired or outdated cards**&#x20;

Card details have changed or the card's no longer active.&#x20;

*Redux solution:* We trigger card update events, prompt frictionless updates, and react immediately when customers add new payment methods.

#### **4. Network or issuer errors**&#x20;

Temporary outages or routing problems.&#x20;

*Redux solution:* We retry when network conditions stabilize and skip attempts that probably won't work.

#### **5. Card limits and velocity issues**&#x20;

Customer hits spending limits or frequency rules.&#x20;

*Redux solution:* We retry when limits reset and avoid patterns that trigger bank throttling.

#### **6. Restricted or unsupported transactions**&#x20;

Some banks block certain recurring payments.&#x20;

*Redux solution:* We use bank-specific retry patterns based on what's worked before.

#### **7. Soft declines that can succeed later**&#x20;

These failures are all about timing.&#x20;

*Redux solution:* We align retries with known success windows instead of using a fixed schedule.

#### **8. Hard declines**&#x20;

Permanent failures where the card can't be charged under any conditions.&#x20;

*Redux solution:* We stop retries immediately to avoid bank flags and shift to card update flows so subscribers can add valid payment methods.
