Subscriptions Payment Failure Code

Below is the list of failure codes that you might encounter on a cycle failed callback. These codes represent various types of transaction failures that may occur during payment processing. You can use this list as a reference guide to help you understand the reasons behind failed transactions and how to handle them effectively.

Error CodeDescriptions
API_VALIDATION_ERRORProvided request parameters did not pass value validation (eg. incorrect format, outside amount limits, missing required parameter)
CUSTOMER_NOT_FOUND_ERRORProvided customer_id in the request parameters does not exist / owned by a different business / invalid format
ACCOUNT_ACCESS_BLOCKEDAccess to the underlying account to be linked has been blocked by the partner channel
INVALID_ACCOUNT_DETAILSThe provided details for account linking in incorrect or has been rejected by the partner channel
INSUFFICIENT_BALANCESource of funds has insufficient balance to complete the transaction
MAX_AMOUNT_LIMIT_ERRORThe transaction amount exceeds the partner channel's set limits
FORBIDDENProvided API key does not have the correct permissions to perform the operation
CHANNEL_NOT_ACTIVATEDThe provided channel_code is not yet activated for the business
DUPLICATE_ERRORThere's an existing record of linking the same underlying account for the provided customer_id
IDEMPOTENCY_ERRORThe request body does not match the body of the previous request with the same Idempotency key
SERVER_ERRORAn error occurred on Xendit's side
CHANNEL_UNAVAILABLEThe partner channel cannot be reached or currently having a downtime
OTP_DELIVERY_ERRORThe partner channel was not able to send the OTP needed for authentication
MAX_ACCOUNT_LINKINGPartner channel blocked the linking because the underlying account has been linked to the maximum number allowed by the channel
INVALID_PAYMENT_METHODThe provided payment method id has already expired or is inactive
PARTNER_CHANNEL_ERRORError received from partner channel but no reasons provided
ACCOUNT_NOT_ACTIVATEDEnd-customer's account is not activated for payments.
CUSTOMER_UNREACHABLEThe end-user's device cannot be reached at this moment
INVALID_MERCHANT_CREDENTIALSMerchant credentials met with an error with the partner channel
FEATURE_NOT_ACTIVATEDRequires additional configuration on dashboard or Xendit to proceed
OPERATION_NOT_ALLOWEDOperation being attempted is not supported for the provided payment method type or channel (eg. VA expiration date, VA suggested/expected amount, VA fixed amount) / Auth for the provided payment method ID is not supported
PROCESSOR_ERRORGeneral system failure returned by the processor Retry the request again after couple of minutes.
PROCESSOR_CONFIGURATION_ERRORPayment declined due to a problem with the merchant configuration on the processor. Contact Xendit to troubleshoot the issue.
PROCESSOR_TEMPORARILY_UNAVAILABLEThe processor appears to be temporarily unavailable. Wait for a couple minutes, then resend the request. If it fails again, Cardholder can try using a different card or other form of payment.
PROCESSOR_TIMEOUT_ERRORRequest was received by the processor, but there was a server timeout. Wait for a couple minutes and then retry the request.
CURRENCY_MISMATCHEDMid settings not found for this currency
OPERATION_NOT_ALLOWEDYour business is not allowed to bypass authentication process.
COF_COMBINATION_NOT_ALLOWED_ERRORCard on file type recurring is not allowed for a subsequent transaction with customer as initiator
ISSUER_UNAVAILABLEPayment was declined by the processor due to card issuer is unreachable.
INVALID_CVVThe CVV (3 or 4-digit security code) entered was either invalid or did not match the issuer’s records. Cardholder can retry the payment and enter the correct CVV. If it fails again, request a different card or other form of payment.
REJECTED_BY_ACQUIRERAcquirer is not accepting this transaction may be due to a transaction without 3DS or deemed as high risk by the acquirer.
STOLEN_CARDThe card was declined as it has been reported stolen or lost by the cardholder. Validate the customer's authenticity and refer them to their bank.
DECLINED_BY_ISSUERThe transaction was declined by the card issuer bank.
DECLINED_BY_PROCESSORThe payment was declined by the processor.
SUSPECTED_FRAUDULENTThe payment is assessed as being high risk by xenshield, Xendit Fraud Prevention. Check the payment details on the Xendit Dashboard to see risk factors. Review the payment to confirm the risk of fraud - check with the user if possible. If you think the risk of fraud is low, Allow the card for all future transactions on the Xendit Dashboard and ask the user to retry again.
INACTIVE_OR_UNAUTHORIZED_CARDThe issuer bank declined the transaction as it is either inactive, or not authorized for online transactions. Cardholder can use another card or can try again after resolving the issue with the bank.
EXPIRED_CARDExpired card. This may also be received if the expiry date entered by the end customer does not match the date the issuer has on file. Cardholder can try again using the correct expiry date or use another card.


Last Updated on 2023-09-03