Cascading
When a provider declines or fails, MintCash can retry the same charge through the next provider in line — without your code knowing.
Cascading is what happens when the first attempt says no. Instead of surfacing a failed to your application, MintCash re-attempts the same charge through the next eligible route — a different acquirer within the provider's network.
The flow
From your side, this is one charge with one final webhook. The cascade is internal — you don't see the intermediate decline.
What's cascadable
Not every failure triggers a cascade. Some errors mean "try another route", others mean "this charge is dead".
| Failure | Cascade? | Why |
|---|---|---|
| Acquirer outage | Yes | The route itself failed — another one may succeed |
| Processing error | Yes | Route-level — re-routing can recover it |
| Soft issuer decline | Sometimes | Issuer rejected via that route — a re-route may pass |
| Insufficient funds | No | Card-level — another route won't fix it |
| Expired card | No | Card-level |
| Lost or stolen card | No | Card-level — also a fraud signal |
| Fraud flag | No | Stops immediately |
| Bad card details (PAN / CVV) | No | Customer-input issue |
The failure reason you receive on payment.failed (failureCode) reflects the final outcome after any internal re-routing. The full taxonomy lives in the errors reference.
What you see
- One payment record. The
payment.iddoesn't change; the provider that ultimately processed the charge is reflected in the payment'sprocessorfield. - One terminal webhook. You get either
payment.succeededorpayment.failedonce the attempt finishes — not one per internal acquirer attempt. - No code on your side. The cascade is entirely server-side.
Cascading is one-shot per charge
Cascading covers the single in-flight charge — provider A failed, so we try provider B. It does not mean we retry later. For time-spaced retries on recurring charges, see Retries.
Controlling the cascade
We can configure cascading behaviour for you account:
- Enable / disable — turn cascading off if you want every provider decline surfaced immediately
- Eligible providers — limit which providers participate
- Order — overlay a priority order on top of your routing rules
Changes flow through your account manager.