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 Code | Error Message |
---|---|
API_VALIDATION_ERROR: 400 | There is invalid input in one of the required request fields |
UNSUPPORTED_CURRENCY: 400 | The 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: 400 | There 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: 401 | API key format is invalid |
INVALID_MERCHANT_CREDENTIALS: 401 | Merchant credentials met with an error with the eWallet provider. Please contact Xendit customer support to resolve this issue |
INVALID_TOKEN: 401 | Account linking token for this end user has expired. Please reinitiate account linking before retrying. |
REQUEST_FORBIDDEN_ERROR: 403 | The API key is forbidden to perform this request |
CHANNEL_NOT_ACTIVATED: 403 | Payment 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: 404 | Payment 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: 403 | The content type requested is not supported |
CHARGE_LIMIT_EXCEEDED: 429 | Maximum 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: 500 | An unexpected error occured, our team has been notified and will troubleshoot the issue |
CHANNEL_UNAVAILABLE: 503 | The 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 Code | Failure Message |
---|---|
ACCOUNT_ACCESS_BLOCKED | End 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_CREDENTIALS | Merchant credentials met with an error with the eWallet provider. Please contact Xendit customer support to resolve this issue |
USER_DECLINED_PAYMENT | End user declined the payment request |
INVALID_ACCOUNT_DETAILS | End user provided incorrect information for this transaction |
MAXIMUM_LIMIT_REACHED | Accumulated 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_UNREACHABLE | End user’s device cannot be reached at this moment. Common reasons include unstable network, device error or jailbroken device |
CHANNEL_UNAVAILABLE | The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issue |
INSUFFICIENT_BALANCE | End user has insufficient balance to complete the transaction |
ACCOUNT_NOT_ACTIVATED | End 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_TOKEN | Binding for this end user has expired. Please reinitiate binding before retrying |
FAILURE_DETAILS_UNAVAILABLE | Details related to the failed payment request were not provided by the eWallet provider |
Error Codes for Void eWallet Payment Endpoint
Error Code | Error Message |
---|---|
API_VALIDATION_ERROR: 400 | There is an error with the format submitted to the server |
VOID_NOT_SUPPORTED: 400 | Void feature is not available as the method is not provided by eWallet provider |
VOID_TEMPORARILY_UNAVAILABLE: 400 | Void 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: 401 | API key format is invalid |
REQUEST_FORBIDDEN_ERROR: 403 | The API key is forbidden to perform this request |
INELIGIBLE_TRANSACTION: 403 | Payment 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: 403 | Merchant has a settlement configuration that is not eligible for voiding transactions. Please contact Xendit customer support for resolution |
DATA_NOT_FOUND: 404 | Resource not found. Please check your query again |
SERVER_ERROR: 500 | An unexpected error occured. Our team has been notified and will troubleshoot the issue |
CHANNEL_UNAVAILABLE: 503 | The 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 Code | Failure Message |
---|---|
MAXIMUM_USER_BALANCE_EXCEEDED | Void 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 Code | Error Message |
---|---|
API_VALIDATION_ERROR: 400 | There is an error with the format submitted to the server |
MAXIMUM_REFUND_AMOUNT_REACHED: 400 | Requested refund amount cannot exceed remaining unrefunded amount of the successful charge |
MAXIMUM_REFUND_TRANSACTION_REACHED: 400 | You 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: 400 | Partial refund feature is not available as the method is not provided by the eWallet provider |
REFUND_TEMPORARILY_UNAVAILABLE: 400 | Refund 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: 400 | Partial 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: 400 | Refund feature is not available as the method is not provided by the eWallet provider |
REFUND_IN_PROGRESS: 400 | Concurrent 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: 401 | API key format is invalid |
REQUEST_FORBIDDEN_ERROR: 403 | The API key is forbidden to perform this request |
INELIGIBLE_TRANSACTION: 403 | Requested refund transaction cannot be processed as the transaction is in “FAILED”, “PENDING”, or “VOIDED” status |
INSUFFICIENT_BALANCE: 403 | There 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: 404 | Resource not found. Please check your query again |
SERVER_ERROR: 500 | An unexpected error occured. Our team has been notified and will troubleshoot the issue |
CHANNEL_UNAVAILABLE: 503 | The 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 Code | Failure Message |
---|---|
INELIGIBLE_TRANSACTION | Transaction has already passed its validity period for the requested operation or the number of refunds requested has exceeded the allowable number of tries |
INSUFFICIENT_BALANCE | Switcher account does not have sufficient balance to perform a refund. Please retry after ensuring there is sufficient balance in the switcher account |
REFUND_TEMPORARILY_UNAVAILABLE | Refund is temporarily unavailable because of settlement constraints with the eWallet provider. Please try again later |
MAXIMUM_USER_BALANCE_EXCEEDED | Refund could not be processed because the amount returned will cause end user's wallet balance to exceed maximum allowable value |
INELIGIBLE_PARTIAL_REFUND_TRANSACTION | Transaction 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