AUTHENTICATION_FAILURE | Soft | Yes | Authentication failed during the transaction | Ask the customer to retry and complete 3DS authentication, or use another card |
AUTHENTICATION_REQUIRED | Soft | Yes | Additional authentication is needed to complete the transaction | Prompt the customer to complete 3DS authentication. For subscription renewals, ask the customer to return and authenticate |
AUTHENTICATION_TIMEOUT | Soft | Yes | The authentication process timed out | Ask the customer to retry and complete authentication promptly |
CARD_DECLINED | Soft | No | The card was declined by the issuing bank without a specific reason (generic decline) | Ask the customer to retry, contact their bank, or use another card |
CARD_NOT_ACTIVATED | Soft | Yes | The card has not been activated by the cardholder | Ask the customer to activate the card with their bank, then retry |
CARD_VELOCITY_EXCEEDED | Soft | Yes | Too many transactions attempted in a short period | Ask the customer to wait and retry later, or contact their bank about limits |
CUSTOMER_CANCELLED | Soft | Yes | The customer cancelled the transaction | Let the customer restart checkout when they are ready |
DO_NOT_HONOR | Hard | No | The issuing bank explicitly refused the transaction (ISO 8583 code 05 — do not honor); networks treat this as terminal | Ask the customer to contact their bank; do not retry the same card |
EXPIRED_CARD | Hard | Yes | The card has expired | Ask the customer to use a card with a valid expiry date |
FRAUDULENT | Hard | Yes | The transaction was flagged as potentially fraudulent | Show the customer a generic decline message — do not reveal the reason. Ask them to use another card |
GENERIC_DECLINE | Soft | No | The transaction was declined for an unspecified reason | Ask the customer to contact their bank or try another card |
INCORRECT_CVC | Soft | Yes | The provided CVC code was incorrect | Ask the customer to re-enter the correct CVC |
INCORRECT_NUMBER | Soft | Yes | The card number was entered incorrectly | Ask the customer to re-enter the correct card number |
INSUFFICIENT_FUNDS | Soft | Yes | The account has insufficient funds to complete the transaction | Ask the customer to use another payment method or retry once funds are available |
INVALID_ACCOUNT | Hard | Yes | The account details provided are invalid | Ask the customer to contact their bank or use another card |
INVALID_AMOUNT | Soft | Yes | The transaction amount is invalid | Verify the amount and any purchase limits with the customer |
INVALID_CARD_NUMBER | Soft | Yes | The card number format is invalid | Ask the customer to re-enter a valid card number |
INVALID_CARD_OWNER | Soft | Yes | The card owner information is invalid | Ask the customer to correct the cardholder name |
INVALID_CVC | Soft | Yes | The CVC format is invalid | Ask the customer to re-enter a valid CVC |
INVALID_EXPIRY_YEAR | Soft | Yes | The card expiry year is invalid | Ask the customer to enter a valid expiry date |
INVALID_PIN | Soft | Yes | The provided PIN is incorrect | Ask the customer to re-enter the correct PIN |
INVALID_REQUEST | Soft | Yes | The transaction request contains invalid data | Check the payment request fields and resubmit with valid data |
INVALID_UPI_ID | Soft | Yes | The UPI ID provided is invalid | Ask the customer to enter a valid UPI ID |
LIMIT_EXCEEDED | Soft | Yes | The transaction exceeds the card or account limit | Ask the customer to contact their bank about limits, or use another method |
LIVE_MODE_TEST_CARD | Hard | Yes | A test card was used in live mode | Use a real card — retrying the test card will always fail in live mode |
LOST_CARD | Hard | Yes | The card has been reported as lost | Show the customer a generic decline message — do not reveal the reason. Ask them to use another card |
MANDATE_INVALID | Soft | Yes | The payment mandate is invalid | Ask the customer to set up the payment mandate again |
MANDATE_REQUIRED | Soft | Yes | A mandate is required for this transaction | Set up a mandate and ask the customer to authorize it before charging |
MANDATE_REQUIRED_SYSTEM | Hard | No | The system requires a mandate for this transaction type | Ensure the mandate setup flow is completed before charging |
NETWORK_ERROR | Soft | No | A network error occurred during the transaction | Transient — retry the payment after a short delay |
NETWORK_TIMEOUT | Soft | No | The network request timed out | Transient — retry the payment after a short delay |
ORDER_ALREADY_EXISTS | Soft | No | An order already exists for this transaction (duplicate order creation) | Check the status of the existing order before retrying; contact support if it persists |
ORDER_CREATION_FAILED | Soft | No | Failed to create the order for the transaction | Transient/system error — retry the payment; contact support if it persists |
PAYMENT_METHOD_PROVIDER_DECLINED | Hard | Yes | The payment method provider declined the transaction | Ask the customer to contact their provider or use another payment method |
PAYMENT_METHOD_UNSUPPORTED | Hard | Yes | The payment method is not supported for this transaction | Ask the customer to use a supported payment method |
PICKUP_CARD | Hard | Yes | The card has been reported as lost or stolen and flagged for pickup | Show the customer a generic decline message — do not reveal the reason. Ask them to use another card |
PROCESSING_ERROR | Soft | No | An error occurred while processing the transaction | Transient — retry the payment; if it persists, ask the customer to contact their bank |
PROVIDER_UNSUPPORTED | Hard | No | The payment provider does not support this transaction type | Ask the customer to use another payment method |
REENTER_TRANSACTION | Soft | Yes | The transaction needs to be re-entered | Ask the customer to retry the payment |
REVOCATION_OF_AUTHORIZATION | Hard | Yes | The authorization for the transaction was revoked | Ask the customer to use another payment method |
STOLEN_CARD | Hard | Yes | The card has been reported as stolen | Show the customer a generic decline message — do not reveal the reason. Ask them to use another card |
SUBSCRIPTION_NOT_ACTIVE | Hard | No | The subscription is not active, so the recurring charge could not be processed | Reactivate the subscription (for example, by updating the payment method) before attempting the charge again |
TRANSACTION_NOT_ALLOWED | Hard | Yes | The transaction is not allowed for this card or account | Ask the customer to contact their bank to allow this transaction type, or use another card |
TRANSACTION_NOT_APPROVED | Hard | Yes | The transaction was not approved | Ask the customer to contact their bank or try another card |
TRY_AGAIN_LATER | Soft | No | The transaction should be retried later | Transient — retry the payment later |
UNKNOWN_ERROR | Soft | No | An unknown error occurred | Retry the payment; if it persists, contact support |