Testing Scenarios

You can simulate in TEST mode both the success scenario as well as various error and failure codes that might be returned in LIVE mode. Refer to the list of supported scenarios below for testing.

Testing Scenarios for One-Time Payment via eWallet Charge Endpoint

Positive Scenarios

ScenarioCriteriaExpected Result
Successful paymentAny number other than 10100-10102 and 20101-20111A response with “PENDING” as the payment status will be returned immediately. Once end user authorizes the payment, completed or failed, a callback will be returned with “SUCCEEDED” or “FAILED” status

Negative Scenarios

ScenarioCriteriaExpected Result
Payment request failed because this specific payment channel has not been activated through Xendit. Please activate via Xendit dashboard or our customer serviceAmount = 10100API Response Error 403 CHANNEL_NOT_ACTIVATED
The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issueAmount = 10101API Response Error 503 CHANNEL_UNAVAILABLE
An unexpected error occured, our team has been notified and will troubleshoot the issueAmount = 10102API Response Error 500 SERVER_ERROR
End user’s account cannot be accessed as it has been restricted by the eWallet provider. End user should contact the provider for resolutionAmount = 20103Failure Code via Callback ACCOUNT_ACCESS_BLOCKED
Merchant credentials met with an error with the eWallet provider. Please contact Xendit customer support to resolve this issueAmount = 20104Failure Code via Callback INVALID_MERCHANT_CREDENTIALS
End user declined the payment requestAmount = 20105Failure Code via Callback USER_DECLINED_PAYMENT
End user provided incorrect information for this transactionAmount = 20106Failure Code via Callback INVALID_ACCOUNT_DETAILS
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 resetAmount = 20107Failure Code via Callback MAXIMUM_LIMIT_REACHED
End user’s device cannot be reached at this moment. Common reasons include unstable network, device error or jailbroken deviceAmount = 20108Failure Code via Callback USER_UNREACHABLE
The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issueAmount = 20109Failure Code via Callback CHANNEL_UNAVAILABLE
End user has insufficient balance to complete the transactionAmount = 20110Failure Code via Callback INSUFFICIENT_BALANCE
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 retryingAmount = 20111Failure Code via Callback ACCOUNT_NOT_ACTIVATED
Details related to the failed payment request were not provided by the eWallet providerAmount = 20112Failure Code via Callback FAILURE_DETAILS_UNAVAILABLE

Testing Scenarios for Tokenized Payment (Redirection/Non-Auto Debit) via eWallet Charge Endpoint for the Following eWallet Channels:

- OVO 
- DANA 
- ShopeePay (ID) 
- LinkAja 

Positive Scenarios

ScenarioCriteriaExpected Result
Successful paymentAny number other than 10100-10103 and 20101-20112A response with “PENDING” as the payment status will be returned immediately. Once end user authorizes the payment, completed or failed, a callback will be returned with “SUCCEEDED” or “FAILED” status

Negative Scenarios

ScenarioCriteriaExpected Result
Payment request failed because this specific payment channel has not been activated through Xendit. Please activate via Xendit dashboard or our customer serviceAmount = 10100API Response Error 403 CHANNEL_NOT_ACTIVATED
The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issueAmount = 10101API Response Error 503 CHANNEL_UNAVAILABLE
An unexpected error occured, our team has been notified and will troubleshoot the issueAmount = 10102API Response Error 500 SERVER_ERROR
Account linking token for this end user has expired. Please reinitiate account linking before retryingAmount = 10103API Response Error 401 INVALID_TOKEN
Binding for this end user has expired. Please reinitiate binding before retryingAmount = 20102Failure Code via Callback INVALID_TOKEN
End user’s account cannot be accessed as it has been restricted by the eWallet provider. End user should contact the provider for resolutionAmount = 20103Failure Code via Callback ACCOUNT_ACCESS_BLOCKED
Merchant credentials met with an error with the eWallet provider. Please contact Xendit customer support to resolve this issueAmount = 20104Failure Code via Callback INVALID_MERCHANT_CREDENTIALS
End user declined the payment requestAmount = 20105Failure Code via Callback USER_DECLINED_PAYMENT
End user provided incorrect information for this transactionAmount = 20106Failure Code via Callback INVALID_ACCOUNT_DETAILS
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 resetAmount = 20107Failure Code via Callback MAXIMUM_LIMIT_REACHED
End user’s device cannot be reached at this moment. Common reasons include unstable network, device error or jailbroken deviceAmount = 20108Failure Code via Callback USER_UNREACHABLE
The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issueAmount = 20109Failure Code via Callback CHANNEL_UNAVAILABLE
End user has insufficient balance to complete the transactionAmount = 20110Failure Code via Callback INSUFFICIENT_BALANCE
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 retryingAmount = 20111Failure Code via Callback ACCOUNT_NOT_ACTIVATED
Details related to the failed payment request were not provided by the eWallet providerAmount = 20112Failure Code via Callback FAILURE_DETAILS_UNAVAILABLE

Testing Scenarios for Tokenized Payment (Auto Debit) via eWallet Charge Endpoint for the Following eWallet Channels:

- Maya (PayMaya)
- GrabPay 
- ShopeePay (PH) 

Positive Scenarios

ScenarioCriteriaExpected Result
Successful paymentAny number other than 10100-20107 and 20109-20112A response with “PENDING” as the payment status as well as a payment completion callback will be returned immediately

Negative Scenarios

ScenarioCriteriaExpected Result
Payment request failed because this specific payment channel has not been activated through Xendit. Please activate via Xendit dashboard or our customer serviceAmount = 10100API Response Error 403 CHANNEL_NOT_ACTIVATED
The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issueAmount = 10101API Response Error 503 CHANNEL_UNAVAILABLE
An unexpected error occured, our team has been notified and will troubleshoot the issueAmount = 10102API Response Error 500 SERVER_ERROR
Account linking token for this end user has expired. Please reinitiate account linking before retryingAmount = 10103API Response Error 401 INVALID_TOKEN
Details related to the failed payment request were not provided by the eWallet providerAmount = 20101Failure Code via Callback FAILURE_DETAILS_UNAVAILABLE
Binding for this end user has expired. Please reinitiate binding before retryingAmount = 20102Failure Code via Callback INVALID_TOKEN
End user’s account cannot be accessed as it has been restricted by the eWallet provider. End user should contact the provider for resolutionAmount = 20103Failure Code via Callback ACCOUNT_ACCESS_BLOCKED
Merchant credentials met with an error with the eWallet provider. Please contact Xendit customer support to resolve this issueAmount = 20104Failure Code via Callback INVALID_MERCHANT_CREDENTIALS
End user declined the payment requestAmount = 20105Failure Code via Callback USER_DECLINED_PAYMENT
End user provided incorrect information for this transactionAmount = 20106Failure Code via Callback INVALID_ACCOUNT_DETAILS
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 resetAmount = 20107Failure Code via Callback MAXIMUM_LIMIT_REACHED
The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issueAmount = 20109Failure Code via Callback CHANNEL_UNAVAILABLE
End user has insufficient balance to complete the transactionAmount = 20110Failure Code via Callback INSUFFICIENT_BALANCE
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 retryingAmount = 20111Failure Code via Callback ACCOUNT_NOT_ACTIVATED

Testing Scenarios for Tokenized Payment (Auto Debit) via eWallet Charge Endpoint for the Following eWallet Channels:

- OVO 
- DANA 
- ShopeePay (ID) 
- LinkAja 

Positive Scenarios

ScenarioCriteriaExpected Result
Successful paymentAmount = 13579A response with “PENDING” as the payment status as well as a payment completion callback will be returned immediately

Negative Scenarios

ScenarioCriteriaExpected Result
Payment request failed because this specific payment channel has not been activated through Xendit. Please activate via Xendit dashboard or our customer serviceAmount = 10100API Response Error 403 CHANNEL_NOT_ACTIVATED
The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issueAmount = 10101API Response Error 503 CHANNEL_UNAVAILABLE
An unexpected error occured, our team has been notified and will troubleshoot the issueAmount = 10102API Response Error 500 SERVER_ERROR
Account linking token for this end user has expired. Please reinitiate account linking before retryingAmount = 10103API Response Error 401 INVALID_TOKEN
Binding for this end user has expired. Please reinitiate binding before retryingAmount = 21102Failure Code via Callback INVALID_TOKEN
End user’s account cannot be accessed as it has been restricted by the eWallet provider. End user should contact the provider for resolutionAmount = 21103Failure Code via Callback ACCOUNT_ACCESS_BLOCKED
Merchant credentials met with an error with the eWallet provider. Please contact Xendit customer support to resolve this issueAmount = 21104Failure Code via Callback INVALID_MERCHANT_CREDENTIALS
End user provided incorrect information for this transactionAmount = 21106Failure Code via Callback INVALID_ACCOUNT_DETAILS
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 resetAmount = 21107Failure Code via Callback MAXIMUM_LIMIT_REACHED
The payment channel requested is currently experiencing unexpected issues. The eWallet provider will be notified to resolve this issueAmount = 21109Failure Code via Callback CHANNEL_UNAVAILABLE
End user has insufficient balance to complete the transactionAmount = 21110Failure Code via Callback INSUFFICIENT_BALANCE
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 retryingAmount = 21111Failure Code via Callback ACCOUNT_NOT_ACTIVATED
Details related to the failed payment request were not provided by the eWallet providerAmount = 21112Failure Code via Callback FAILURE_DETAILS_UNAVAILABLE

Testing Scenarios for eWallet Void via Void eWallet Payment Endpoint

INFO

The amount values for eWallet Void are entered at the Create eWallet Charge stage via eWallet Charge Endpoint.

Positive Scenarios

ScenarioCriteriaExpected Result
Successful voidAny number other than 10200-10202 and 20200A response with “PENDING” as the void status as well as a void completion callback will be returned immediately

Negative Scenarios

ScenarioCriteriaExpected Result
Void feature is not available as the method is not provided by eWallet providerAmount = 10200API Response Error 400 VOID_NOT_SUPPORTED
Void feature is unavailable between 00:00:00 and 05:00:00 each day for ShopeePay transactions. Please try again after 05:00:00Amount = 10201API Response Error 400 VOID_TEMPORARILY_UNAVAILABLE
Payment has already passed its void validity period (after 23:50:00) for requested operation or status of charge is not SUCCEEDEDAmount = 10202API Response Error 403 INELIGIBLE_TRANSACTION
Void could not be processed because the amount returned will cause end user's wallet balance to exceed maximum allowable valueAmount = 20200Failure Code via Callback MAXIMUM_USER_BALANCE_EXCEEDED

Testing Scenarios for eWallet Refund via Refund eWallet Payment Endpoint

Positive Scenarios

ScenarioCriteriaExpected Result
Successful refundAny number other than 10300-10306 and 20300-20304A response with “PENDING” as the refund status as well as a refund completion callback will be returned immediately

Negative Scenarios

ScenarioCriteriaExpected Result
Requested refund amount cannot exceed remaining unrefunded amount of the successful chargeAmount = 10300API Response Error 400 MAXIMUM_REFUND_AMOUNT_REACHED
Partial refund feature is not available as the method is not provided by the eWallet providerAmount = 10301API Response Error 400 PARTIAL_REFUND_NOT_SUPPORTED
Refund feature is unavailable between 23:50:00 and 05:00:00 each day for ShopeePay transactions. Please try again after 05:00:00Amount = 10302API Response Error 400 REFUND_TEMPORARILY_UNAVAILABLE
Refund feature is not available as the method is not provided by the eWallet providerAmount = 10303API Response Error 400 REFUND_NOT_SUPPORTED
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 oneAmount = 10304API Response Error 400 REFUND_IN_PROGRESS
Requested refund transaction cannot be processed as the transaction is in "FAILED", "PENDING", or "VOIDED" statusAmount = 10305API Response Error 403 INELIGIBLE_TRANSACTION
There is insufficient balance in your account to perform a refund. Please top up your balance with a sufficient amount before retrying the refundAmount = 10306API Response Error 403 INSUFFICIENT_BALANCE
Transaction has already passed its validity period for the requested operation or the number of refunds requested has exceeded the allowable number of triesAmount = 20300Failure Code via Callback INELIGIBLE_TRANSACTION
Switcher account does not have sufficient balance to perform a refund. Please retry after ensuring there is sufficient balance in the switcher accountAmount = 20301Failure Code via Callback INSUFFICIENT_BALANCE
Refund is temporarily unavailable because of settlement constraints with the eWallet provider. Please try again laterAmount = 20302Failure Code via Callback REFUND_TEMPORARILY_UNAVAILABLE
Refund could not be processed because the amount returned will cause end user's wallet balance to exceed maximum allowable valueAmount = 20303Failure Code via Callback MAXIMUM_USER_BALANCE_EXCEEDED
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 pointsAmount = 20304Failure Code via Callback INELIGIBLE_PARTIAL_REFUND_TRANSACTION

Last Updated on 2023-07-18