Skip to main content
When a transaction is declined, the reason is returned in the declinedReason field of the transaction.created and transaction.updated webhooks. This page lists the common decline reasons and what you can do about each. Declines come from several places: Rain’s system rules, card limits, risk checks, and, for partner-managed programs, your own webhook responses. What you can do about a decline covers the reasons you can act on, and Standard decline reasons lists every value Rain itself sends. Some declines come from the card processor instead of a Rain rule. These take priority, and their declinedReason is a lowercase description supplied by the processor (for example, restricted card) rather than one of Rain’s standard values. The field can also be empty in rare cases. Match on the standard reasons, and fall back to a generic “declined” for anything you do not recognize.

What you can do about a decline

Many declines are expected outcomes you can act on. The table below maps common reasons to their cause and your next step: A few additional defaults worth noting:
  • ATM withdrawals are disabled by default and enabled per program.
  • Quasi-cash and certain money-transfer categories are restricted by default.
  • 3D Secure (3DS): a failed 3DS verification can result in a decline. See 3D Secure (3DS).
  • Address Verification (AVS): AVS is supported and configurable per card; mismatches can contribute to a decline.

Standard decline reasons

These are the complete set of declinedReason values Rain sends when the decline originates from a Rain rule, limit, or risk check. Match on these strings:

Processor-originated reasons

When the decline originates at the card processor, declinedReason carries a normalized description of the processor’s reason instead of one of the standard values above. Because those descriptions are configured at the processor and can change, the table below is a non-exhaustive list of examples, not a fixed enumeration. Do not branch business logic on these strings.

What’s next

Transaction events

See the spend webhook payloads where the declinedReason field appears.

Authorization, declines & risk rules

Review the authorization codes and risk rules that can trigger a decline.