Money Movement Errors

Error Codes

In the event that a transaction processing encounters an error, the response from Money Movement will include the error object within the response body. The error code signifies the specific issue faced during the creation and processing of the transaction. You can find a list of error codes for reference below.

⚠️ Most errors during Execute a Transfer are due to customer account problems (except for 6051 which would apply to your wallet account). These errors usually start with 60xx. You may safely prompt consumers about these errors.


Frequently Encountered Error

M133 - The recipient profile is not allowed to receive money from this partner.

HTTP Status: 400

This error may appear when the KYC status of the recipient's account does not meet the eligibility criteria for the transaction. In such instances, it's advisable to reach out to your designated Maya Relationship Manager to determine which KYC statuses are permissible.

Please be aware that Maya only permits transfers from external wallets to a Maya account that has been upgraded to KYC1. With this, M133 error is often encountered when the recipient's account has not been upgraded to KYC1 status during funding. If this situation arises, you may want to advise the user to upgrade their account before proceeding with funding.

ℹ️ Discuss with your Maya Relationship Manager to know more on handling and spiels.

Possible Occurence: During Create Transfer


1096 - Transfer to the same account is not allowed.

HTTP Status: 400

Money Movement does not allow the use of the same Maya account as both the source and the receiver. Please ensure that your specific use case is in line with the guidelines.

Possible Occurence: During Create Transfer


1301 - Invalid Client-Id header.

HTTP Status: 400

This occurs when the client ID values provided in the API request are invalid or incorrect. Please ensure that you are supplying the correct Client ID values.

ℹ️ If the error continues to persist even after supplying the correct values, please raise the issue through one of the following channels:

Possible Occurence: During Create Transfer


1630 - Invalid Product Type.

HTTP Status: 400

This error may occur if you have provided an incorrect value for recipient.type in the transfer request. Please verify that you are supplying the correct value for recipient.type, which should align with your client ID setup:

  • TOKEN for Transfer Funds to Maya Wallet or Maya Mini Apps
  • CODE for Add Money via Cash In Code

ℹ️ If the error continues to persist even after supplying the correct values, please raise the issue through one of the following channels:

Possible Occurence: During Create Transfer


1646 - The recipient type is not allowed to receive money from this partner.

HTTP Status: 400

This error may manifest if there is a misconfiguration with your client ID. If you encounter this issue, please report it through one of the following channels:

Possible Occurence: During Create Transfer


2841 - Recipient value is invalid.

HTTP Status: 400

This situation arises when an incorrect recipient.value has been provided. Please double-check that you are supplying the accurate values for the recipient.value field in the transfer request. Revisit the following references for the correct values:

ℹ️ If the error continues to persist even after supplying the correct values, please raise the issue through one of the following channels:

Possible Occurence: During Create Transfer


2856 - The recipient is not a recognized PayMaya account.

HTTP Status: 400

This situation arises when an incorrect recipient.value has been provided. Please double-check that you are supplying the accurate values for the recipient.value field in the transfer request. Revisit the following references for the correct values:

ℹ️ If the error continues to persist even after supplying the correct values, please raise the issue through one of the following channels:

Possible Occurence: During Create Transfer


2896 - Internal service timeout.

HTTP Status: 504

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].

Possible Occurence: During Execute Transfer


6005 - Internal ledger error.

HTTP Status: 400

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].

Possible Occurence: During Execute Transfer


6014 - Invalid account Details.

HTTP Status: 400

You may ask the user to coordinate with Maya Customer Care to check their account.

Possible Occurence: During Execute Transfer


6041 - Recipient’s primary account marked as Lost

HTTP Status: 400

This error may arise if the recipient's account is not active, either due to user-initiated closure or because it has not yet been activated. In such cases, you can advise the user to contact Maya Customer Care to verify the status of their account.

Possible Occurence: During Execute Transfer


6043 - Recipient’s primary account marked as Card Stolen

HTTP Status: 400

This error may arise if the recipient's account is not active, either due to user-initiated closure or because it has not yet been activated. In such cases, you can advise the user to contact Maya Customer Care to verify the status of their account.

Possible Occurence: During Execute Transfer


6051 - Your funds are not enough to give to the customer.

HTTP Status: 400

You must add funds to your Maya Corporate Account. Feel free to reach out to your designated Maya Relationship Manager for additional support.

Possible Occurence: During Execute Transfer


6054 - Recipient’s primary account has expired.

HTTP Status: 400

You may ask the user to coordinate with Maya Customer Care to check their account.

Possible Occurence: During Execute Transfer


6058 - Recipient’s profile is not permitted to transact with this partner in our ledgers.

HTTP Status: 400

You may ask the user to coordinate with Maya Customer Care to check their account.

Possible Occurence: During Execute Transfer


6061 - Recipient has reached their Add Money limit (amount).

HTTP Status: 400

This error will occur when the recipient's account has reached the maximum allowable credit amount limit. You can let the user know that they have already reached the maximum wallet limit.

Possible Occurence: During Execute Transfer


6065 - Recipient has reached their Add Money limit (count).

HTTP Status: 400

This error will occur when the recipient's account has reached the maximum allowable credit transaction limit count. You can let the user know that they have already reached the maximum wallet limit.

Possible Occurence: During Execute Transfer


6072 - Partner’s account has reached its limit.

HTTP Status: 400

This error may arise when your Maya corporate account has reached its maximum allowable limit. Contact your Maya Relationship Manager for further assistance.

Possible Occurence: During Execute Transfer


6076 - Recipient’s primary account is Invalid.

HTTP Status: 400

You may ask the user to coordinate with Maya Customer Care to check their account.

Possible Occurence: During Execute Transfer


6091 - Internal ledger error.

HTTP Status: 504

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].

Possible Occurence: During Execute Transfer


6096 - Internal ledger error.

HTTP Status: 400

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].

Possible Occurence: During Execute Transfer


6097 - Internal ledger error.

HTTP Status: 400

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].

Possible Occurence: During Execute Transfer


6098 - Internal ledger error.

HTTP Status: 504

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].

Possible Occurence: During Execute Transfer


7011 - Temporarily failure encountered

HTTP Status: 400

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].


7012 - The transaction is still processing or connection failure is encountered.

HTTP Status: 400

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].


M001 - No mother account defined for the partner.

HTTP Status: 400

This error will be triggered in case there are issues during the onboarding process for a funded partner. If you encounter this issue, please report it through one of the following channels:

Possible Occurence: During Create Transfer


M003 - Invalid Mother Account Product Type.

HTTP Status: 400

This error will be triggered in case there are issues during the onboarding process for a funded partner. If you encounter this issue, please report it through one of the following channels:

Possible Occurence: During Create Transfer


M036 - Add Money code is invalid.

HTTP Status: 400

This typically occurs when a user enters an incorrect Add Money code or a code that hasn't been generated within the Maya app.

Please ensure that the user generates the Add Money Code from their Maya app and submits it to your system.

Possible Occurence: During Create Transfer


M055 - Amount does not match.

HTTP Status: 400

This occurs when the amount entered by the customer while generating the Add Money code, doesn't match the currency and value provided by your system.

Please verify that the customer has provided accurate details to proceed with the funding.

Possible Occurence: During Create Transfer


M056 - Amount value does not match

HTTP Status: 400

This occurs when the amount entered by the customer while generating the Add Money code differs from the value provided by your system.

Please ensure that the customer has provided the correct details to proceed with the funding.

Possible Occurence: During Create Transfer


M057 - Amount currency does not match

HTTP Status: 400

This occurs when the amount entered by the customer while generating the Add Money code doesn't match the currency specified by your system.

Please ensure that the customer has provided accurate details to proceed with the funding.

Possible Occurence: During Create Transfer


M122 - Recipient is inactive and cannot receive funds.

HTTP Status: 400

This error will be experienced when the recipient's account is inactive, either due to the user's request for closure or because it hasn't been activated yet. You can advise the user to get in touch with Maya Customer Care to verify the status of their account.

ℹ️ Discuss with your Maya Relationship Manager to know more on handling and spiels.

Possible Occurence: During Create Transfer


M132 - Recipient funding is closed and cannot receive funds.

HTTP Status: 400

You may come across this error when the recipient's account has been closed, either at the user's request or due to suspicious activity resulting in a block. In such cases, you can advise the user to contact Maya Customer Care to inquire about their account status.

ℹ️ Discuss with your Maya Relationship Manager to know more on handling and spiels.

Possible Occurence: During Create Transfer


Gateway and Any Timeout Errors

HTTP Status: 502 503 504 No HTTP Status Code

When you've obtained and are in the process of handling the transferId, such as when executing a transfer intent, it is advisable to verify the transfer's status by using the Retrieve a Transfer endpoint with the given transferId before considering any retry attempts.

Alternatively, if you haven't obtained the transferId, you can proceed to retry the request.

ℹ️ If the issue continues to persist even after multiple attempts, kindly raise it to [email protected].