Card declines and error codes

Overview

The bank that issues a credit or debit card is called the Issuing Bank. When a customer makes a purchase, the Issuing Bank sends funds to the merchant’s Acquiring Bank, where the transaction settles. Xendit has optimized its setup with Acquiring Banks to minimize declines on their side, so most declines come from the Issuing Bank.

Issuing banks share the exact reason for a decline only with the cardholder. To get details, the cardholder must contact their bank with information like the transaction amount and date.

Since asking customers to call their bank for every decline isn't scalable, Xendit uses heuristics to estimate the most likely reasons for declines based on signals from the Issuing Bank and regional factors. These insights are available in the Decline Insights section of the Card Transaction Details page in the Xendit Dashboard.

Xendit Decline Reasons

Failure ReasonDescriptionRecommendation
AUTHENTICATION FAILEDPayment was declined because transaction is not authenticated yet.Recommend cardholder to to re-authenticate the transaction with 3DS. Alternatively, they can try to use a different card, other form of payment, or contact their card issuing bank to resolve the problem on online transaction.
DECLINED BY ISSUERPayment was declined by the issuer with no additional information provided to Xendit.Recommend cardholder to contact their card issuing bank to resolve the problem on online transaction. Alternatively, they can try to use a different card or other form of payment.
DECLINED BY PROCESSORPayment was declined by the processor with no additional information provided to Xendit.Recommend cardholder to try again. Alternatively, they can try to use a different card or other form of payment.
EXPIRED CARDPayment was declined because card has expired.Recommend cardholder to input the correct expiration date. Or recommend cardholder to contact their issuing bank if they are certain that their card should still be active for the payment. Alternatively, they can try to use a different card or other form of payment.
FRAUD RISK BLOCKEDBlocked by Xendit Fraud Prevention Payment was declined by Xendit risk assessment. Please refer to the Fraud Risk Assessment section for more detail.Review the cardholder, as the payment was blocked by your blocklist. If you believe the cardholder to be legitimate, remove the identifier from the blocklist and ask them to try again. Otherwise, avoid processing transaction from them to prevent chargeback.
INACTIVE OR UNAUTHORIZED CARDPayment was declined by the issuer because card is not authorized for online transactions.Recommend cardholder to contact their card issuing bank to resolve the problem on online transaction. Alternatively, they can try to use a different card or other form of payment.
INSUFFICIENT BALANCEPayment was declined by the issuer because insufficient funds in the cardholder's account.Recommend cardholder to contact their card issuing bank to resolve the problem on online transaction if they are certain that they have enough balance for the payment. Alternatively, they can try to use a different card or other form of payment.
INVALID CARDPayment was declined by the issuer because incorrect card information being provided.Recommend cardholder to review the card information and try again. Alternatively, they can try to use a different card or other form of payment.
INVALID CVVPayment was declined by the issuer because incorrect card CVN / CVV / CSC being provided.Recommend cardholder to review the card CVV / CVN / CSC (3-4 digit code on the back of the card) and try again. Or recommend cardholder to contact their card issuing bank to resolve the problem on online transaction if they are certain that they have input the correct CVV. Alternatively, they can try to use a different card or other form of payment.
ISSUER SUSPECT FRAUDPayment was declined by the issuer because they suspect this payment to be fraudulent.Review the cardholder. If you believe the cardholder to be legitimate, recommend them to use a different card or other form of payment. Otherwise, avoid processing transactions from them to prevent chargeback.
ISSUER UNAVAILABLEPayment was declined by the processor because the card issuer is unreachable.Recommend cardholder to contact their card issuing bank to resolve the problem on online transaction. Alternatively, they can try to use a different card or other form of payment.
PROCESSOR ERRORPayment was declined by the processor because of intermittent error on the processor side.Recommend cardholder to try again in a few minutes. Alternatively, they can try to use other form of payment.
PROCESSOR TIMEOUTPayment was declined by the processor because of intermittent error on the processor side.Recommend cardholder to check their balance and make sure no transaction being recorded. In case they’re charged, please contact Xendit to support you in refunding the transaction. Alternatively, they can try to use a different card or other form of payment.
STOLEN CARDPayment was declined by the issuer because the card was reported as stolen / lost by the cardholder.Review the cardholder. If you believe the cardholder to be legitimate, recommend them to use a different card or other form of payment. Otherwise, avoid processing transaction from them to prevent chargeback.

Network response codes

In addition to Xendit error codes, networks also return error codes to Xendit.

These error codes are returned as additional data in our API responses (This will be enabled on live starting November 4 2025 - we are currently running a pilot on the test environment).

Example response:

"network_response": {
    "card_network_response_code": "65",
    "card_network_descriptor": "Exceeds withdrawal count limit",
    "merchant_advice_code": "28",
    "merchant_advice_descriptor": "Retry after 6 days",
    "three_ds_trans_status": "Y",
    "three_ds_flow": "CHALLENGE"
}

Network response code data

card_network_response_code - The response code returned by the scheme (Visa, Mastercard, JCB, China Unionpay or Amex)

card_network_descriptor - Description of the response code

merchant_advice_code - Only returned when present, only returned for Mastercard. Mastercard has codes which describe what action to take towards merchants. Not following Mastercard's advice may lead to "excessive retry fines". These fines can go up to USD 0.50 per transaction.

merchant_advice_descriptor - Only returned when present. Only returned for Mastercard. Description / action to take for the merchant advice code.

three_ds_trans_status - transStatus result, directly coming from the 3DS2 response.

three_ds_flow - When authenticated - the authentication flow this transaction has followed

Trans Status (three_ds_trans_status) and 3DS Flow (three_ds_flow)


three_ds_trans_status Indicates whether a transaction was authenticated, as per EMVCo 3DS2 specification.

The possible values are:

Error codeDescription
YAccount verification successfull
IAuthentication / Exemption granted by Issuer
NNot Authenticated / account not verified, challenge failed
UAuthentication / account verification could not be performed (could be due to authentication not being available for the card/issuer). Could potentially still proceed with transactino, if no 3DS is enabled
AAuthentication / verification was attempted
CChallenge Required. Additional authentication is required using a challenge
RAuthentication / account verification rejected by the issuer.
  • Y: Authentication / Account verification successfu
  • I: Authentication / Exemption granted by Issuer
  • N: Not Authenticated / account not verified. Transaction denied.
  • U: Authentication / account verification could not be performed (could be due to authentication not being available for the card/issuer)
  • A: Authentication / verification was attempted
  • C: Challenge Required. Additional authentication is required using a Challenge
  • R: Authentication / account verification rejected by the Issuer.

three_ds_flow can return either FRICTIONLESS or CHALLENGE, indicating which flow the shopper has gone through when completing 3DS2.

Mastercard Merchant Advice Codes

Merchant advice codes provide guidance on handling declined transactions. These codes help developers and merchants understand why a transaction was declined and what actions to take next.

How to Use Mastercard Merchant Advice Codes:
  1. Identify Decline Reason: Each code corresponds to a specific reason for decline. Use it to determine whether the issue is technical, policy-related, or cardholder-specific.
    • Example: Code 03 — Don't retry, penalty fees may apply. Consider contacting the cardholder.
  2. Actionable vs. Non-actionable Codes: Some codes suggest retrying, while others require no further action.
    • Example: Code 24 — Retry after 1 hour.
      Code 40 — No action required.
  3. Avoid Penalties: Codes may warn of penalties for retrying certain transactions.
    • Example: Code 21 — Don't retry, penalty fees may apply.
  4. Contact Support for Technical Issues: If the code refers to technical problems, direct developers to reach out to support.
    • Example: Code 04 — Contact support for token issues.
  5. Installments and Recurring Payments: Some codes indicate restrictions on specific payment types, like installments.
    • Example: Code 22 — Installments not allowed, do not retry.

By integrating these codes into your payment processing logic, you can handle declined transactions appropriately, avoid penalties, and provide better guidance to merchants.

Merchant advice code overview (merchant_advice_code)
CodeDescriptionAdditional info
1Update card information.Ask the shopper to provide new card information
2Try the again payment after 72 hours.
3Do not retry this payment. Retries can be subject to penalty fees by Mastercard. Consider reaching out directly to the shopper.
4Technical token issue, reach out to Xendit support.
8Blocked by payment processor.
21Do not retry this payment. Retries can be subject to penalty fees by Mastercard.
22Do not retry this payment, installments not allowed for this transaction.
24Retry the payment after 1 hour.
25Retry the payment after 24 hours.
26Retry the payment after 2 days.
27Retry the payment after 4 days.
28Retry the payment after 6 days.
29Retry the payment after 8 days.
30Retry the payment after 10 days.
40No action required.
41No action required.
42No action required.
99No action possible.
Card network response code overview (card_network_response_code)
Network response codeDescriptionActionXendit mapped codeAdditional information
01Refer to card issuerRecommend cardholder to contact their card issuing bank to resolve the problem on online transaction Or, try to use different card. Or, use other form of payment.DECLINED_BY_ISSUER
02Refer to card issuerShopper to contact the card issuerDECLINED_BY_ISSUER
03Invalid merchantReach out to XenditDECLINED_BY_ISSUER
04Capture cardRetain cardSTOLEN_CARD
05Do not honorTry again using a different cardDECLINED_BY_ISSUEROften used by issuers when they don't trust a transaction or did not properly map a different error code.
06Try again using a different cardTry again using a different cardDECLINED_BY_ISSUER
07Pick up card, special condition (fraud account)-STOLEN_CARDUsed in physical situations, telling merchants to retain the card
10Partial Approval-PARTIAL_APPROVALA partial amount was accepted, the rest of the transaction needs to be completed using a different card.
11Approved (V.I.P)-SUCCESSUsed by visa when they stand in for the issuer, accepting a transaction on behalf of.
12Invalid transactionDo not try againINACTIVE_OR_UNAUTHORIZED_CARD
13Invalid amountUse a different amountINACTIVE_OR_UNAUTHORIZED_CARD
14Invalid card numberTry again with a different card (number)INVALID_CARD
15Invalid issuerRetry at a later timeINVALID_CARD
19Re-enter transactionRetry the transactionPROCESSOR_ERROR
21Payment cancellationDo not retryDECLINED_BY_ISSUERThe user cancelled the transaction during processing, only relevant on EDC
25Unable to locate record in fileReach out to Xendit supportPROCESSOR_ERRORThis will not occur
28File temporarily not available for update or inquiryReach out to Xendit supportPROCESSOR_ERRORIndicator of problems on the scheme side
30Format errorThe card issuer does not recognize the transaction details being entered. This is due to a format error. The shopper should check the transaction information and try again.PROCESSOR_ERROR
39No credit accountTry again using a different cardINVALID_CVVThe card is not suitable for this type of transactino. For example when adttempting to use prepaid for recurring.
41Stolen cardDo not retrySTOLEN_CARD
42Processor errorTry again in a few minutesPROCESS_ERRORRecommend cardholder to try again in a few minutes. Alternatively, they can try to use other form of payment.
43Stolen cardDo not retrySTOLEN_CARD
46Closed accountTry again using a different cardINACTIVE_OR_UNAUTHORIZED_CARD
51Insufficient fundsINSUFFICIENT_BALANCE
52No checking accountPROCESSOR_ERROR
53No savings accountPROCESSOR_ERROR
54Expired cardEXPIRED_CARDCould also mean expiration date is missing
55Invalid PININACTIVE_OR_UNAUTHORIZED_CARD
57Transaction not permitted to cardholderRetry with a different cardINACTIVE_OR_UNAUTHORIZED_CARDThe card is not suitable for this type of transactino. For example when adttempting to use prepaid for recurring.
58Transaction not permittedDECLINED_BY_ISSUER
59Suspected fraudISSUER_SUSPECT_FRAUDIssuer suspects fraud
61Limit exceededINSUFFICIENT_BALANCE
62Restricted cardShopper could contact issuer or use a different cardDECLINED_BY_ISSUERCard no. valid in country or region
63Security violationDECLINED_BY_ISSUER
64Card declinedDECLINED_BY_PROCESSOR
65Limit exceededDECLINED_BY_ISSUER
70Contact card issuerDECLINED_BY_ISSUER
71PIN not changedCARD_DECLINEDDoes not happen on eCommerce
74Invalid PINDECLINED_BY_PROCESSOR
75Allowable number of PIN tries exceededDECLINED_BY_ISSUER
78Invalid / nonexistent account specified (general)INACTIVE_OR_UNAUTHORIZED_CARD  The transaction is from a new cardholder and the card has not been properly unblocked or activated.
79Life cycleDECLINED_BY_PROCESSORMastercard only
80Credit issuer unavailablePROCESSOR_ERROR
81Suspected fraudDECLINED_BY_PROCESSOR
82Invalid CVNINVALID_CVVDo not tell shoppers their CVN was invalid, this may help fraudsters.
83Suspected fraudISSUER_SUSPECT_FRAUD
84Invalid authorization life cycleDECLINED_BY_ISSUER
85ApprovedSUCCESS
86Invalid PINDECLINED_BY_PROCESSOR
87Purchase amount only, no cash back allowedCARD_DECLINED
88Cryptographic failureCARD_DECLINED
89Ineligible to receive financial position information (GIV)PROCESSOR_ERROR
90Cutoff is in progressRetry at a later stageCARD_DECLINED
91Temporary system errorRetry at a later stageISSUER_UNAVAILABLE
92Temporary system errorRetry at a later stageINACTIVE_OR_UNAUTHORIZED_CARD
93Transaction cannot be completed - violation of lawDECLINED_BY_ISSUER
94Duplicated transactionDo not retryDECLINED_BY_PROCESSOR
96System errorISSUER_UNAVAILABLE
1AAuthentication requiredAuthentication needed for this transaction. Try again using authenticationAUTHENTICATION_FAILEDVisa only
1ZTemporary system errorPROCESSOR_ERROR
B1Surcharge amount not permitted on Visa cards or EBT food stamps (U.S. acquirers only)DECLINED_BY_PROCESSOR
B2Surcharge amount not supported by debit network issuerDECLINED_BY_PROCESSOR
N0Force STIPPROCESSOR_ERROR
N3Issuer not availableDECLINED_BY_ISSUER
N4Limit exceededINSUFFICIENT_BALANCE
N5Ineligible for resubmissionPROCESSOR_ERROR
N7Invalid CVNINVALID_CVV
N8Preauthorized amount exceededDECLINED_BY_PROCESSOR
P6Denied PINCARD_DECLINED
Q1Authentication failedPROCESSOR_ERROR
R0Stop payment orderDECLINED_BY_ISSUER
R1Revocation of authorization orderTRANSACTION_BLOCKED
R2Transaction does not qualify for Visa PINDECLINED_BY_ISSUER
R3Revocation of authorization orderDECLINED_BY_ISSUER
Z3Not available for online transactionDECLINED_BY_ISSUER

Last Updated on 2024-10-23