Skip to main content

Status Codes

Overview

The response from our APIs typically includes the following fields:

FieldData typeDescription
return_codeintStatus in general.
return_messageStringDescription of status code
sub_return_codeintStatus code detail
sub_return_messageStringDetail description of status code

The return_code can have the following possible values:

NoValueShort description
11SUCCESS
22FAIL
33PROCESSING

If the return_code is 2 (FAIL), you should check the sub_return_code to know in detail what happened.

Details

In this section, we will guide you through how to interpret sub_return_code.

Create Order

CreateOrder API

NoValueShort descriptionMeaningNote
1-68DUPLICATE_APPS_TRANS_IDThe app_trans_id value of the order is duplicatedOrder initialization failed. The merchant needs to query the status of this order or initiate the order again with a different app_trans_id value.
2-401ILLEGAL_DATA_REQUESTParameters in the request are in the wrong formatOrder initialization failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the order with valid parameter values
3-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app code or signatureInitialization of the order failed. The merchant needs to check the credentials information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the order with valid authentication details
4-429LIMIT_REQUEST_REACHRequest violate rate limitOrder initialization failed. The merchant needs to reinitialize the order after a certain period of time
5-500SYSTEM_ERRORThe system is errorOrder initialization failed. Merchant contact Zalopay for more details
6-999SYSTEM_MAINTENANCEThe system is maintenanceOrder initialization failed. The merchant needs to reinitialize the order after maintenance has been completed

Query Order's Status

QueryOrder API

NoValueShort descriptionMeaningNote
1-54TIME_INVALIDThe transaction is expiredMerchant creates another order
2-63ZPW_BALANCE_NOT_ENOUGHUser balance not enough for paymentOrder not yet payment. If order not yet expired, user can top up, and retry payment
3-92APPTRANSID_INVALIDThe app_trans_id value in the query request is not in the correct formatMerchant check and retry the query request with a valid app_trans_id value
4-101ORDER_NOT_EXISTThe app_trans_id value does not existMerchant check and retry the query request with a different app_trans_id value
5-217BANK_ERRORThe bank is errorMerchant needs to contact Zalopay for more details
6-332, -333PROMOTION_ERRORPayment for the order failed due to promotion program rulesMerchant needs to contact Zalopay for more details
7-401ILLEGAL_DATA_REQUESTParameters in the request are in the wrong formatInitialization of the query request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the query request with valid parameter values
8-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app code or signatureInitialization of the query request failed. The merchant needs to check the connection information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the query request with valid authentication details
9-429LIMIT_REQUEST_REACHRequest violate rate limitInitialization of the query request failed. The merchant needs to recreate the query request after a certain period of time
10-500SYSTEM_ERRORThe system is errorInitialization of the query request failed. Merchant contact Zalopay for more details
11-999SYSTEM_MAINTENANCEThe system is maintenanceInitialization of the query request failed. The merchant needs to reinitialize the query request after maintenance has been completed
12-1330, -1331, -1332, -1333EXCEED_MAX_FUND_OUT_PER_DAYUser account has exceeded daily spending limitUsers can make another request on the following days
13-1340, -1341, -1342, -1343EXCEED_MAX_FUND_OUT_PER_MONTHUser account has exceeded monthly spending limitUsers can make another request in the following months

Cancel Order

CancelOrder API

NoValueShort descriptionMeaningNote
1-101ORDER_NOT_EXISTThe app_trans_id value does not existThe merchant should verify and retry the cancel request with a different app_trans_id value.
2-401ILLEGAL_DATA_REQUESTRequest parameters are in an incorrect format.Cancel request initialization failed. The merchant should check the parameter format, ensure all required parameters are included, and reattempt with valid values.
3-403ORDER_ALREADY_CAPTUREDThe order has already been captured and cannot be canceled.The cancel request is invalid as the order is captured. The merchant may wish to inform the customer or proceed with a refund process if applicable.
4-429LIMIT_REQUEST_REACHRequest violate rate limitInitialization of the cancel request failed. The merchant needs to recreate the query request after a certain period of time
5-500SYSTEM_ERRORThe system is errorInitialization of the cancel request failed. Merchant contact Zalopay for more details
6-999SYSTEM_MAINTENANCEThe system is maintenanceInitialization of the cancel request failed. The merchant needs to reinitialize the query request after maintenance has been completed

Refund Order

RefundOrder API

NoValueShort descriptionMeaningNote
10SYSTEM_ERRORThe system is errorRefund request initialization failed. Merchant, please contact Zalopay for more details
2-13ORDER_REFUND_EXPIREDThe refund violate expiredMerchant check and reinitialize the refund request with a valid timestamp parameter value (not exceeding 15 minutes from the request initialization time)
3-101ORDER_NOT_FOUNDThe zp_trans_id value does not existMerchant check and reinitialize the refund request with a different zp_trans_id value
4-401ILLEGAL_DATA_REQUESTInvalid dataRefund request initialization failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the refund request with valid parameter values
5-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app code or signatureInitialization of the refund request failed. The merchant needs to check the connection information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the refund request with valid authentication details
6-429LIMIT_REQUEST_REACHRequest violate rate limitRefund request initialization failed. The merchant needs to recreate the refund request after a certain period of time
7-500SYSTEM_ERRORThe system is errorRefund request initialization failed. Merchant contact Zalopay for more details
8-999SYSTEM_MAINTENANCEThe system is maintenanceInitialization of the refund request failed. The merchant needs to reinitialize the refund request after maintenance has been completed
9-32NOT_SUPPORT_PARTIAL_REFUNDThe transaction does not supported partial refundPartial Refunds for E-wallet Payments (Except ZaloPay), this sub_error_code related to refund and query refund API

Query Refund Order's Status

QueryRefundOrder API

NoValueShort descriptionMeaningNote
1-1REFUND_PENDINGPendingRefund request is pending approval. Merchant contact Zalopay for more details
2-2REFUND_TYPE_INVALIDInvalid refund typeRefund unsuccessful. Merchant contact Zalopay for more details
3-13REFUND_EXPIRE_TIMERefund time limit has passedRefund unsuccessful. Merchant contact Zalopay for more details
4-14REFUND_AMOUNT_INVALIDInvalid refund amountRefund unsuccessful. The merchant needs to check and reinitialize the refund request with a valid amount
5-16INSERT_REFUND_LOG_AR_FAILAdded new faulty AR infoRefund in progress. Merchant contact Zalopay for more details
6-32NOT_SUPPORT_PARTIAL_REFUNDThe transaction does not supported partial refundPartial Refunds for E-wallet Payments (Except ZaloPay), this sub_error_code related to refund and query refund API
7-101M_REFUND_ID_NOT_FOUNDThe m_refund_id value does not existMerchant check and retry the refund query request with a different m_refund_id value
8-401ILLEGAL_DATA_REQUESTInvalid dataInitialization of the query request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the query request with valid parameter values
9-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app code or signatureInitialization of the query request failed. The merchant needs to check the connection information, verify the credentials signature, cross-reference it with the information provided by Zalopay, and reinitialize the query request with valid authentication details
10-429LIMIT_REQUEST_REACHRequest violate rate limitInitialization of the query request failed. The merchant needs to reinitialize the query request after a certain period of time
11-500SYSTEM_ERRORThe system is errorInitialization of the query request failed. Merchant contact Zalopay for more details
12-999SYSTEM_MAINTENANCEThe system is maintenanceInitialization of the query request failed. The merchant needs to reinitialize the query request after maintenance has been completed

Create Binding (Wallet)

NoValueShort descriptionMeaningNote
1-68DUPLICATE_APPS_TRANS_IDThe app_trans_id value of the binding is duplicatedBinding initialization failed. The merchant needs to query the status of this link or reinitialize the link with a different app_trans_id value
2-401ILLEGAL_DATA_REQUESTInvalid dataBinding initialization failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the link with valid parameter values.
3-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app code or signatureBinding initialization failed. The merchant needs to check the credentials information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the binding with valid authentication details
4-500SYSTEM_ERRORThe system is errorBinding initialization failed. Merchant contact Zalopay for more details
5-1801SYSTEM_MAINTENANCEThe system is maintenanceBinding initialization failed. The merchant needs to reinitialize the binding after maintenance has been completed

Query Payment Token (Wallet)

NoValueShort descriptionMeaningNote
1-101APP_TRANS_ID_NOT_FOUNDThe app_trans_id value does not existMerchant check and reinitialize the query request with a different app_trans_id value
2-401ILLEGAL_DATA_REQUESTInvalid dataInitialization of the query request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the query request with valid parameter values
3-402ILLEGAL_APP_REQUESTInvalid app code or signatureInitialization of the query request failed. The merchant needs to check the connection information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the query request with valid authentication details
4-500SYSTEM_ERRORThe system is errorInitialization of the query request failed. Merchant contact Zalopay for more details
5-1801SYSTEM_MAINTENANCEThe system is maintenanceInitialization of the query request failed. The merchant needs to reinitialize the request after maintenance has been completed

Query Balance (Wallet)

NoValueShort descriptionMeaningNote
1-101TOKEN_NOT_EXITSThe pay_token value does not existMerchant check and reinitialize the balance inquiry request with a different pay_token value
2-401ILLEGAL_DATA_REQUESTInvalid dataInitialization of the balance inquiry query request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the query request with valid parameter values
3-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app code or signatureInitialization of the balance inquiry request failed. The merchant needs to check the credentials information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the balance inquiry request with valid authentication details
4-500SYSTEM_ERRORThe system is errorInitialization of the balance inquiry query request failed. Merchant contact Zalopay for more details
5-1002AGREEMENT NOT VALIDUser unbindingMerchant needs to notify the user
6-1007ARGREEMENT_EXPIREDUser token is expiredMerchant needs to notify the user
7-1009USER_HAS_BEEN_LOCKEDUser account has been lockedMerchant needs to notify the user
8-1011PERMISSION_DENIEDUser token not approve for app_idMerchant needs to verify that the pay_token is valid for the app_id and reinitialize the balance inquiry request with valid app_id information for the merchant
9-1800USER EXCEED KYC LIMITUser account has exceeded limitMerchant needs to notify the user
10-1801SYSTEM IS MAINTENANCEThe system is maintenanceInitialization of the balance inquiry request failed. The merchant needs to reinitialize the balance inquiry request after maintenance has been completed

Pay By Token (Wallet)

NoValueShort descriptionMeaningNote
1-101TOKEN_NOT_EXITSUser token not exitsMerchant check and reinitialize the payment request with a different pay_token value
2-401ILLEGAL_DATA_REQUESTInvalid dataInitialization of the payment request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the payment request with valid parameter values
3-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app codeInitialization of the payment request failed. The merchant needs to check the credentials information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the payment request with valid authentication details
4-500SYSTEM_ERRORThe system is errorInitialization of the payment request failed. Merchant contact Zalopay for more details
5-1002AGREEMENT NOT VALIDUser token un bindingThe merchant needs to inform the user and should not proceed with the payment request for this token
6-1007AGREEMENT_EXPIREDUser toke expiredThe merchant needs to inform the user and should not proceed with the payment request for this token
7-1009USER_HAS_BEEN_LOCKEDUser account has been lockedThe merchant needs to inform the user and should not proceed with the payment request for this token
8-1010USER_CANNOT_PAYUser can not paymentThe merchant needs to inform the user and should not proceed with the payment request for this token
9-1011PERMISSION_DENIEDUser token not approve for app_idMerchant needs to verify that the pay_token is valid for the app_id and reinitialize the payment request with valid app_id information for the merchant
10-1013PAYMENT_AMOUNT_EXCEED_LIMITUser account has exceeded spending limitThe merchant needs to inform the user and should not proceed with the payment request for this token
11-1019USER_EXCEED_MERCHANT_LIMIT_BINDINGUser account has exceeded limit bindingThe merchant needs to inform the user and should not proceed with the payment request for this token
12-1800USER EXCEED KYC LIMITUser account has exceeded limitThe merchant needs to inform the user and should not proceed with the payment request for this token
13-1801SYSTEM IS MAINTENANCEThe system is maintenanceInitialization of the payment request failed. The merchant needs to reinitialize the payment request after maintenance has been completed

Un Binding (Wallet)

NoValueShort descriptionMeaningNote
1-101BINDING_NOT_EXITSBinding id not exitsMerchant, please check and reinitialize the unbinding request with a different binding_id value
2-401ILLEGAL_DATA_REQUESTInvalid dataInitialization of the unbingding request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the unlink request with valid parameter values
3-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app code or signatureInitialization of the unbinding request failed. The merchant needs to check the credentials information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the unbinding request with valid authentication details
4-500SYSTEM_ERRORThe system is errorInitialization of the unbinding request failed. Merchant contact Zalopay for more details
5-1011PERMISSION_DENIEDUser token not approve for app_idMerchant needs to verify that the binding_id is valid for the app_id and reinitialize the unbingding request with valid app_id information for the merchant
6-1801SYSTEM_MAINTENANCEThe system is maintenanceInitialization of the unbinding request failed. The merchant needs to reinitialize the unbinding request after maintenance has been completed

Query User Info

NoValueShort descriptionMeaningNote
1-401ILLEGAL_DATA_REQUESTInvalid dataInitialization of the user information query request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the query request with valid parameter values
2-402ILLEGAL_APP/SIGNATURE_REQUESTInvalid app code or signatureInitialization of the user information query request failed. The merchant needs to check the credentials information, verify the authentication signature, cross-reference it with the information provided by Zalopay, and reinitialize the query request with valid authentication details
3-500SYSTEM_ERRORThe system is errorInitialization of the user information query request failed. Merchant contact Zalopay for more details
4-1801SYSTEM_MAINTENANCEThe system is maintenanceInitialization of the user information query request failed. The merchant needs to reinitialize the query request after maintenance has been completed

Create Binding (Card)

NoValueShort descriptionMeaningNote
1-68DUPLICATE_APPS_TRANS_IDThe app_trans_id value of the order is duplicatedOrder initialization failed. The merchant needs to query the status of this order or initiate the order again with a different app_trans_id value.
2-500INTERNAL_ERRORThe system is errorSystem error. Contact Zalopay for support.
3-7002WRONG_PARAMETERInvalid dataInitialization of the payment request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the payment request with valid parameter values

Query Binding (Card)

NoValueShort descriptionMeaningNote
1-101APP_TRANS_ID_NOT_EXISTThe app_trans_id doesn't exist, please try again
2-500INTERNAL_ERRORThe system is errorSystem error. Contact Zalopay for support.
3-7002WRONG_PARAMETERInvalid dataInitialization of the payment request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the payment request with valid parameter values

Pay by Token (Card)

NoValueShort descriptionMeaningNote
1-500INTERNAL_ERRORThe system is errorSystem error. Contact Zalopay for support.
2-7002WRONG_PARAMETERInvalid dataInitialization of the payment request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the payment request with valid parameter values
3-7202ZPTOKEN_INVALIDZp token is invalid
4-7032ORDER_NOT_FOUNDTransaction is invalid or has exceeded timeout limit
5-7041TOKEN_NOT_EXISTThe token doesn't exist, please try again
6-7217TOKEN_STATUS_INVALIDStatus token is invalid
7-7223TOKEN_NOT_FOUNDThe token not found

Un Binding (Card)

NoValueShort descriptionMeaningNote
1-101BINDING_NOT_EXISTThe binding doesn't exist, please try again
2-500INTERNAL_ERRORThe system is errorSystem error. Contact Zalopay for support.
3-7002WRONG_PARAMETERInvalid dataInitialization of the payment request failed. The merchant needs to check the format of the parameters or any missing parameters and reinitialize the payment request with valid parameter values
4-7216IDENTIFIER_INVALIDIdentifier is invalid