---
title: "Card decline reasons"
---
When a card transaction fails, Gravv sends a webhook notification with a `declined_reason` field that explains why the transaction was declined.

## Webhook decline reasons

The following decline reasons appear in webhook notifications for failed card transactions:

| Decline reason                     | Description                                       |
| :--------------------------------- | :------------------------------------------------ |
| invalid_pin_attempt_limit_exceeded | too many incorrect PIN attempts                   |
| account_credit_limit_exceeded      | account credit limit reached                      |
| card_spending_limit_exceeded       | card spending limit reached                       |
| webhook_declined                   | your webhook endpoint returned a decline response |
| webhook_timeout                    | your webhook endpoint did not respond in time     |
| card_canceled                      | card has been canceled                            |
| card_locked                        | card is locked                                    |
| card_not_activated                 | card has not been activated                       |
| blocked_merchant                   | merchant is blocked                               |
| blocked_mcc                        | merchant category code is blocked                 |
| blocked_entity                     | entity is blocked                                 |
| balance_inquiry_not_permitted      | balance inquiry not allowed                       |
| transaction_declined_by_rules      | transaction declined by configured rules          |

## System decline reasons

Gravv automatically declines transactions in the following situations:

| Reason               | Description                                                              |
| :------------------- | :----------------------------------------------------------------------- |
| invalid_pan          | Transaction received from a PAN not issued by Gravv                      |
| wrong_pin            | Incorrect PIN entered                                                    |
| invalid_cvv          | CVV verification failed                                                  |
| invalid_arqc         | Application Request Cryptogram validation failed                         |
| invalid_aav          | Application Authentication Value validation failed                       |
| card_expired         | Wrong expiry date or transaction received from an expired card           |
| wrong_atc            | Application Transaction Counter mismatch                                 |
| invalid_service_code | Service code doesn't match expected value                                |
| non_atm_withdrawal   | Withdrawal request other than from an ATM                                |
| card_status          | Card status is set to something other than active (lost, void, inactive) |
| account_status       | Account linked to the card is suspended or inactive                      |
| blacklisted_country  | Transaction from a blocked country                                       |
| data_contradiction   | A data element in the request contradicts expected values                |
| card_client_rules    | Rules configured for the card or client declined the transaction         |
| amount_limit         | Transaction exceeds the amount limit                                     |
| online_pin_limit     | Online PIN tries exceeded                                                |
| offline_pin_limit    | Offline PIN tries exceeded                                               |
| pin_change_mismatch  | PIN mismatch in a PIN change request                                     |
| avs_failure          | Address Verification Service check failed                                |
| 3ds_failure          | 3D Secure verification failed                                            |
| cashback_unsupported | Cashback request received from a POS that doesn't support cashback       |
| ecommerce_flag       | Card is set to decline all e-commerce transactions                       |
| atm_cash_flag        | Card is set to decline all ATM cash transactions                         |
| balance_enquiry_flag | Card is set to decline balance inquiry over authorization                |
