When passingDocumentation Index
Fetch the complete documentation index at: https://docs.revtain.com/llms.txt
Use this file to discover all available pages before exploring further.
originalDeclineCode, the recovery engine automatically determines the optimal recovery path for each decline type. The more context you provide, the higher the recovery rate.
Supported Categories
| Category | Example Codes | What Happens |
|---|---|---|
| Recoverable | insufficient_funds, do_not_honor, call_issuer, try_again_later, card_declined, generic_decline, expired_card | The engine applies the optimal recovery strategy for this decline type. Recovery is attempted automatically. |
| Blocked | fraudulent, lost_card, pickup_card, restricted_card, fraud_suspected | Transaction is blocked to protect the merchant. No recovery attempted. Webhook notification sent. |
| Unknown | Any unrecognised code | Conservative recovery attempted. |
| Not provided | null / omitted | Recovery attempted using available transaction signals. |
Why Decline Codes Matter
Different declines need different strategies:insufficient_funds→ Retry on payday, end of month, or after a known billing cycledo_not_honor→ Retry through a backup gateway with different MIDexpired_card→ Refresh token via account updater firstfraudulent→ Block immediately — retrying causes chargebacks and damages merchant health
What Happens with Blocked Codes
For blocked decline codes (e.g.,fraudulent, lost_card), Revtain:
- Returns
403 Forbiddenimmediately - Fires a
recovery.blockedwebhook - Records the transaction as blocked
- Does not attempt any retry on any gateway