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 |
For more information on all card endpoints, see Cards.