> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thedecard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Decline Reason Code Dictionary

> To make it easier to determine why a card transaction was declined, this page lists every value the rejectReason field can take and what it means. Approved transactions return an empty string; declines return one of the codes below, and reasons DeCard does not recognize are mapped to OTHER_FAIL. The field appears in the CARD_TRANSACTION event on both Webhook and WebSocket.

## 📄 Guide

> The values below apply to the `rejectReason` field of the `CARD_TRANSACTION` event and are populated only when `response=D`. The transaction query API does not return this field yet; contact DCS if you need it there.

### Decline reason codes (rejectReason)

For approved transactions (`response=A`) the field is an empty string `""`. Declined transactions return one of the reason codes below; reasons that DeCard does not recognize are mapped to `OTHER_FAIL`.

| Value                                              | Meaning                                                                     |
| :------------------------------------------------- | :-------------------------------------------------------------------------- |
| `CARD_NOT_FOUND`                                   | The card could not be found.                                                |
| `CARD_NOT_ACTIVE`                                  | The card is not active.                                                     |
| `CARD_EXPIRED`                                     | The card has expired.                                                       |
| `CARD_RESTRICTED`                                  | The card is restricted and cannot be used for this transaction.             |
| `ACCOUNT_RESTRICTED`                               | The account is restricted and cannot be used for this transaction.          |
| `AUTHENTICATION_FAILED`                            | The transaction authentication failed.                                      |
| `FRAUD_OR_RISK_REJECTED`                           | The transaction was rejected by fraud or risk controls.                     |
| `LIMIT_EXCEEDED`                                   | The transaction exceeds the applicable limit.                               |
| `MERCHANT_RESTRICTED`                              | The transaction is not allowed at this merchant.                            |
| `CURRENCY_NOT_SUPPORTED`                           | The transaction currency is not supported.                                  |
| `INVALID_TRANSACTION`                              | The transaction information is invalid.                                     |
| `DUPLICATE_TRANSACTION`                            | The transaction has already been processed or submitted.                    |
| `ORIGINAL_TRANSACTION_ERROR`                       | The original transaction could not be matched or is in an invalid state.    |
| `TRANSACTION_NOT_ALLOWED`                          | The transaction is not allowed.                                             |
| `ISSUER_OR_PARTNER_DECLINED`                       | The transaction was declined by the issuer or processing partner.           |
| `PROCESSING_ERROR`                                 | The transaction could not be processed due to a processing or system error. |
| `OTHER_FAIL`                                       | The transaction was declined for a reason not recognized by DeCard.         |
| `CONVERSION_INSUFFICIENT_BALANCE`                  | Insufficient balance                                                        |
| `CONVERSION_INVALID_REQUEST_AMOUNT`                | Invalid conversion request amount                                           |
| `USERASSET_INSUFFICIENT_BALANCE`                   | Insufficient balance                                                        |
| `PAY_INSUFFICIENT_BALANCE`                         | Insufficient balance                                                        |
| `PAY_EXCEED_PAY_AMOUNT`                            | Refunded or reversed amount exceeds the original transaction                |
| `PAY_FULL_REFUNDED`                                | The original transaction has already been fully refunded                    |
| `PAY_NO_SUCH_ORDER`                                | The corresponding order could not be found                                  |
| `PAY_UNKNOWN`                                      | Unspecified payment processing error                                        |
| `CARD_TRANSACTION_TRANSACTION_PERMISSION_DISABLED` | Card transactions are disabled                                              |
| `CARD_TRANSACTION_UNSUPPORTED_CURRENCY`            | The transaction currency is not supported                                   |
| `CARD_TRANSACTION_UNREASONABLE_AMOUNT`             | The transaction amount is not valid                                         |
| `CARD_TRANSACTION_NO_SUCH_TRANSACTION`             | The original transaction could not be found                                 |
| `CARD_CARD_NOT_EXISTED`                            | The card could not be found                                                 |
| `SYS_ILLEGAL_PARAM`                                | Invalid request parameter                                                   |
| `HANDLE_USER_REWARD_HAS_ERROR`                     | Reward processing failed                                                    |
| `KYC_SYSTEM_ERROR`                                 | KYC verification system error                                               |

## Next steps

* [Webhook and WebSocket](../../integration-resources/webhook-websocket) — full field list and samples for the `CARD_TRANSACTION` event
* [Card Application Data Dictionary](./application-data-dictionary) — enum values for `kycInfo` on the card application endpoint
