Error Lists and Failure Reasons

Below is the list of common error and failure codes in eWallet payment, void, and refund.

Error Codes for eWallet Charge Endpoint

Error CodeError Message
API_VALIDATION_ERROR: 400There is invalid input in one of the required request fields
UNSUPPORTED_CURRENCY: 400The payment currency request is not supported for this payment channel. Please refer to our API reference or docs to pick available currencies
INVALID_PAYMENT_METHOD_ID: 400There is a mismatch between the requested channel_code or customer_id against the values used during creation of the specified payment_method_id. Or that the payment_method_id does not exist in this account. Please retry with a valid payment_method_id
INVALID_API_KEY: 401API key format is invalid
INVALID_MERCHANT_CREDENTIALS: 401Merchant credentials met with an error with the eWallet provider. Please contact Xendit customer support to resolve this issue
INVALID_TOKEN: 401Account linking token for this end user has expired. Please reinitiate account linking before retrying.
REQUEST_FORBIDDEN_ERROR: 403The API key is forbidden to perform this request
CHANNEL_NOT_ACTIVATED: 403Payment request failed because this specific payment channel has not been activated through Xendit. Please activate via Xendit dashboard or our customer service
CALLBACK_URL_NOT_FOUND: 404Payment request failed because there was no input of callback url in Xendit Dashboard or request headers. Please save your callback url in Xendit Dashboard
UNSUPPORTED_CONTENT_TYPE: 403The content type requested is not supported
CHARGE_LIMIT_EXCEEDED: 429Maximum of 3 request attempts to Jenius Pay per cashtag within a span of 10 minutes has been exceeded. Please wait for 10 minutes before trying to initiate a new request
SERVER_ERROR: 500An unexpected error occured, our team has been notified and will troubleshoot the issue
CHANNEL_UNAVAILABLE: 503The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issue

Failure Codes for eWallet Charge Endpoint

Failure CodeFailure Message
ACCOUNT_ACCESS_BLOCKEDEnd user’s account cannot be accessed as it has been restricted by the eWallet provider. End user should contact the provider for resolution
INVALID_MERCHANT_CREDENTIALSMerchant credentials met with an error with the eWallet provider. Please contact Xendit customer support to resolve this issue
USER_DECLINED_PAYMENTEnd user declined the payment request
INVALID_ACCOUNT_DETAILSEnd user provided incorrect information for this transaction
MAXIMUM_LIMIT_REACHEDAccumulated value of payment requested for this end user went above the maximum transaction limit set by end user or eWallets. Payment can be retried when the transaction limit is reset
USER_UNREACHABLEEnd user’s device cannot be reached at this moment. Common reasons include unstable network, device error or jailbroken device
CHANNEL_UNAVAILABLEThe payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issue
INSUFFICIENT_BALANCEEnd user has insufficient balance to complete the transaction
ACCOUNT_NOT_ACTIVATEDEnd user’s account cannot be accessed as it has not been activated. End user should set up their account and ensure there is sufficient balance before retrying
INVALID_TOKENBinding for this end user has expired. Please reinitiate binding before retrying
FAILURE_DETAILS_UNAVAILABLEDetails related to the failed payment request were not provided by the eWallet provider

Error Codes for Void eWallet Payment Endpoint

Error CodeError Message
API_VALIDATION_ERROR: 400There is an error with the format submitted to the server
VOID_NOT_SUPPORTED: 400Void feature is not available as the method is not provided by eWallet provider
VOID_TEMPORARILY_UNAVAILABLE: 400Void feature is unavailable between 00:00:00 and 05:00:00 UTC+07:00/UTC+08:00 each day for ShopeePay transactions. Please try again after 05:00:00 UTC+07:00/UTC+08:00
INVALID_API_KEY: 401API key format is invalid
REQUEST_FORBIDDEN_ERROR: 403The API key is forbidden to perform this request
INELIGIBLE_TRANSACTION: 403Payment has already passed its void validity period (after 23:50:00 UTC+07:00/UTC+08:00) for requested operation or status of charge is not SUCCEEDED
INELIGIBLE_MERCHANT: 403Merchant has a settlement configuration that is not eligible for voiding transactions. Please contact Xendit customer support for resolution
DATA_NOT_FOUND: 404Resource not found. Please check your query again
SERVER_ERROR: 500An unexpected error occured. Our team has been notified and will troubleshoot the issue
CHANNEL_UNAVAILABLE: 503The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issue

Failure Codes for Void eWallet Payment Endpoint

Failure CodeFailure Message
MAXIMUM_USER_BALANCE_EXCEEDEDVoid could not be processed because the amount returned will cause end user's wallet balance to exceed maximum allowable value

Error Codes for Refund eWallet Payment Endpoint

Error CodeError Message
API_VALIDATION_ERROR: 400There is an error with the format submitted to the server
MAXIMUM_REFUND_AMOUNT_REACHED: 400Requested refund amount cannot exceed remaining unrefunded amount of the successful charge
MAXIMUM_REFUND_TRANSACTION_REACHED: 400You have reached the maximum refund transactions allowed for this charge. Kindly check the refund limitations for all eWallet channels here https://docs.xendit.co/ewallet/payment-flows/void-and-refund#refund-ewallet-charge
PARTIAL_REFUND_NOT_SUPPORTED: 400Partial refund feature is not available as the method is not provided by the eWallet provider
REFUND_TEMPORARILY_UNAVAILABLE: 400Refund feature is unavailable between 23:50:00 and 05:00:00 UTC+07:00/UTC+08:00 each day for ShopeePay transactions. Please try again after 05:00:00 UTC+07:00/UTC+08:00
REFUND_TEMPORARILY_UNAVAILABLE: 400Partial refund feature is not available for Maya (PayMaya) on the day of transaction. Please try again after 23:59:59 of transaction day
REFUND_NOT_SUPPORTED: 400Refund feature is not available as the method is not provided by the eWallet provider
REFUND_IN_PROGRESS: 400Concurrent refund requests to a single eWallet charge is not allowed. Please wait for the pending refund request to be completed before initiating a new one
INVALID_API_KEY: 401API key format is invalid
REQUEST_FORBIDDEN_ERROR: 403The API key is forbidden to perform this request
INELIGIBLE_TRANSACTION: 403Requested refund transaction cannot be processed as the transaction is in “FAILED”, “PENDING”, or “VOIDED” status
INSUFFICIENT_BALANCE: 403There is insufficient balance in your account to perform a refund. Please top up your balance with a sufficient amount before retrying the refund
DATA_NOT_FOUND: 404Resource not found. Please check your query again
SERVER_ERROR: 500An unexpected error occured. Our team has been notified and will troubleshoot the issue
CHANNEL_UNAVAILABLE: 503The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issue

Failure Codes for Refund eWallet Payment Endpoint

Failure CodeFailure Message
INELIGIBLE_TRANSACTIONTransaction has already passed its validity period for the requested operation or the number of refunds requested has exceeded the allowable number of tries
INSUFFICIENT_BALANCESwitcher account does not have sufficient balance to perform a refund. Please retry after ensuring there is sufficient balance in the switcher account
REFUND_TEMPORARILY_UNAVAILABLERefund is temporarily unavailable because of settlement constraints with the eWallet provider. Please try again later
MAXIMUM_USER_BALANCE_EXCEEDEDRefund could not be processed because the amount returned will cause end user's wallet balance to exceed maximum allowable value
INELIGIBLE_PARTIAL_REFUND_TRANSACTIONTransaction specified is not eligible for partial refund because of eWallet provider's limitations. You can retry refund by doing full refund. GrabPay doesn't allow partial refunds for transactions made under promos or using GrabPay points

Last Updated on 2023-05-17