Skip to main content

List Result Codes

After submitting an API request, you'll receive a response inform that your request was received and processed. Depending on the HTTP status code of the response, please handle the corresponding logical actions.

  • 2xx: indicates a well received and processed request
  • 4xx: you did something wrong in the request
  • 5xx: something's wrong with the server, or connection

Other than HTTP status code, you'll also receive MoMo error codes and messages (in EN and VI) in the response. Each of them will carry out a distinguish result of your request, so please apply the logical handlers for them all.

To minimize unwanted side effects when requests are duplicated, you can also take the following actions on your end:

  • Implement asynchronous server-to-server notification receiver, using MoMo's IPN (instant push notification) service, via ipnUrl attribute in the request.
  • Enable idempotency in your API requests. The MoMo API supports idempotency on POST requests (other request types such as GET, DELETE and PUT are idempotent by definition). The open API of MoMo's payment gateway version 2.1 (and up) supports idempotency, allowing you to retry a request multiple times while only performing the action once. This helps avoid unwanted duplication in case of failures and retries. All the error codes implicates "Final Status" in the list below are idempotent, whereas the other ones will returned "duplicated requestId" error messages if a request (identified as requestId) is sent multiple times.
Result codeDescriptionFinal StatusRecommended actionsType
0Successful.Yes
10System is under maintenance.NoPlease retry after the maintenance is over.System error
11Access denied.NoMerchant settings issue. Please check your settings in M4B portal, or contact MoMo for configurations.System error
12Unsupported API version for this request.NoPlease upgrade to our latest version of payment gateway as the current version is no longer in support.System error
13Merchant authentication failed.NoPlease check your credentials and the ones provided in M4B portal.Merchant error
20Bad format request.NoPlease check the request format or any missing parameters.Merchant error
21Request rejected due to invalid transaction amount.NoPlease check if the amount is irrelevant and retry a request.Merchant error
22The transaction amount is out of range.NoPlease check if the amount is within the allowed range of each payment method. For capture requestType, check if the capture amount match the authorized amount.Merchant error
40Duplicated requestId.NoPlease retry with a different requestID.Merchant error
41Duplicated orderId.NoPlease inquiry the orderId's transaction status, or retry with a different orderId.Merchant error
42Invalid orderId or orderId is not found.NoPlease retry with a different orderId.Merchant error
43Request rejected due to an analogous transaction is being processed.NoBefore retry, please check if another analogous transaction is being processed which restricts this request.Merchant error
45Duplicated ItemIdNoPlease check and retry the request with unique ItemId.Merchant error
47Request rejected due to inapplicable information in the given set of valuable data.NoPlease review and retry with another request.System error
98This QR Code has not been generated successfully. Please try again later.YesPlease retry with another request.System error
99Unknown error.YesPlease contact MoMo for more details.System error
1000Transaction is initiated, waiting for user confirmation.NoThe transaction is still waiting for the user confirmation, the transaction state will change after user confirms or cancels the payment.
1001Transaction failed due to insufficient funds.YesMerchant error
1002Transaction rejected by the issuers of the payment methods.YesPlease choose other payment methods.User error
1003Transaction cancelled after successfully authorized.YesThe transaction was canceled by merchant or MoMo system due to timeout handlers. Please mark the transaction as failed.Merchant error
1004Transaction failed because the amount exceeds daily /monthly payment limit.YesPlease mark the transaction as failed, and retry another day.User error
1005Transaction failed because the url or QR code expired.YesPlease send another payment request.System error
1006Transaction failed because user has denied to confirm the payment.YesPlease send another payment request.User error
1007Transaction rejected due to inactive or nonexistent user's account.YesPlease ensure the account status should be active/verified before retrying or contact MoMo for support.System error
1017Transaction cancelled by merchant.YesMerchant error
1026Transaction restricted due to promotion rules.YesPlease contact MoMo for the restriction details.System error
1080Refund attempt failed during the processing. Please retry within a short period, preferably after an hour.YesPlease check if the original orderId or transId used in the request is correct, then retry to refund later (recommended to be in 1 hour for payment transaction that was processed longer than 1 month ago).Merchant error
1081Refund rejected. The original transaction might have been refunded.YesPlease check if the original transaction has already been refunded, or the amount of your refund request exceeds the refundable amount.Merchant error
1088Refund rejected. The original payment transaction is ineligible to be refundedYesPlease contact MoMo for the restriction details.Merchant error
2019Request rejected due to invalid orderGroupId.YesPlease contact MoMo for the restriction details.Merchant error
4001Transaction rejected because the user account is being restricted.YesPlease contact MoMo for the restriction details of this certain user account.User error
4002Transaction rejected because the user account has not been verified by C06.YesUsers must update their biometrics via NFC to be authorized for the transaction.User error
4100Transaction failed because user has failed to login.YesUser error
7000Transaction is being processed.NoPlease wait for the transaction to be fully processed.Pending
7002Transaction is being processed by the provider of the payment instrument selected.NoPlease wait for the transaction to be processed. The transaction status will be notified once it's done processing.Pending
9000Transaction is authorized successfully.NoFor 1-step payment, please mark this transaction as success.
For 2-step payment, please proceed with either capture or cancel request. For binding, please proceed to request the recurring token.
Pending