Remittance Errors

In the event that a transaction processing encounters an error, the response from Remittance Service 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.


Authentication and API Key Errors

K001 - Missing authentication header

HTTP Status: 401

Error Message: Missing authentication header. Kindly include a Base64 encoded key in the basic authentication header.

This is caused by sending a request without an Authorization header.

Ensure that you have encoded the correct API key for Basic HTTP authentication and included it in the Authorization header of your HTTP request.


K002 - Key has expired

HTTP Status: 401

Error Message: Key has expired. Please generate a new key.

This error will be encountered when the API key used is already expired.

You should re-create a new API key via the Maya Manager.


K003 - Invalid authentication credentials

HTTP Status: 401

Error Message: Invalid authentication credentials. Kindly verify if the key you are using is correct.

You will encounter this one when you provide incorrect values for the Basic HTTP authentication in the Authorization request header.

Ensure that you have encoded the correct API key for Basic HTTP authentication and included it in the Authorization header of your HTTP request.


K004 - Invalid endpoint

HTTP Status: 401

Error Message: Invalid endpoint. Please check if you are accessing the correct endpoint/resource.

This error will be encountered when:

  • Calling an invalid endpoint or incorrect URL
  • Using inappropriate API key (public or secret keys)

Make sure that you are using the appropriate API keys and is calling the correct endpoint.


K006 - Invalid authentication credentials

HTTP Status: 401

Error Message: Invalid authentication credentials. Key provided is not a valid Base64 encoded key.

This error will be encountered when you have provided an invalid Authorization header value.

Review and make sure you are sending a correctly encoded Basic HTTP authentication value for the Authorization HTTP request header.


K007 - Invalid key scope

HTTP Status: 401

Error Message: Invalid key scope. Please check the provided key's scopes.

This will be encountered when the API key does not have the scope required by the endpoint called.

Review the scope of your API key and use the appropriate key that has a valid scope.


K999 - A problem is encountered

HTTP Status: 400

Error Message: A problem is encountered. Please contact PayMaya support.

This is caused by a generic error during API request authentication.

You may retry the operation. If problem persists, contact your Maya Relationship Manager.


Create Remittance Errors


RA1021 - Duplicate transaction

HTTP Status: 400

Request Reference Number provided is similar to a previously created remittance.

If previously created remittance is valid, continue executing with the previously created request using the ID provided in latest response containing the duplicate error, or the transaction reference number from the original successful create remittance response. You may also check for the status of the created remittance using the Check Remittance .

If previously created remittance is invalid, create new remittance with different Request Reference Number.


RA1024 - Invalid amount

HTTP Status: 400

For amount value, only numeric characters and period (.) are allowed for amounts. Maximum of two decimal places is allowed. Ensure that the amount value is in numeric format with max two decimal places.

For currency, it must be in PHP. Ensure that currency input is “PHP”.


RA1028 - Target account is not found

HTTP Status: 400

Account identified does not exist.

Ensure that the account number is in PH mobile number format: 63XXXXXXXXXX or 0XXXXXXXXXX. Ensure with customer that the target account inputted exists.


RA1029 - Client record not found

HTTP Status: 400

Client is not onboarded in Maya’s service.

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


RA1030 - Invalid mobile number format

HTTP Status: 400

Sender Mobile Number contains characters that are not in numeric format.

Adjust character input to numeric, up to 20 characters.


RA1031 - Beneficiary is blacklisted

HTTP Status: 400

Targeted beneficiary has a sanction screening hit, whether from industry-shared watchlists or internal blacklists. We don’t explicitly say this in the response so as not to alarm customer and for proper handling to be done.

Follow your internal protocols for handling blacklisted customers. Ask customer’s targeted beneficiary to check with Maya the status of their account (without mentioning the blacklist hit).


RA1032 - Beneficiary details do not match customer/cardholder information on record

HTTP Status: 400

The identified account number does not match the inputted name in Maya’s records.

Ask sending customer to check with Beneficiary the name used in their Maya account. Be mindful of special characters / spaces.


RA1034 - Channel not supported

HTTP Status: 400

The identified channel is not what was enabled for the integration.

ℹ️ If this channel is supposed to be enabled, please raise the issue through one of the following channels:

Otherwise, please use the agreed channel:

  • pymy - for sending to Maya personal accounts

RA1035 - Sender is blacklisted

HTTP Status: 400

Sender has a sanction screening hit based on their name and KYC information provided, whether from industry-shared watchlists or internal blacklists. We don’t explicitly say this in the response so as not to alarm customer and for proper handling to be done.

⚠️ For partners who send limited customer information, chances of sanction hits are higher.

Follow your internal protocols for handling blacklisted customers.

⚠️ For partners sending limited customer information, you may run extended due diligence and ask for more KYC information to reduce likelihood of sanction hit.


RA1049 - Beneficiary is a minor

HTTP Status: 400

Targeted beneficiary is below 18 years old.

Ask customer to identify a different beneficiary that is of legal age (18+).


RA1050 - Invalid request format

HTTP Status: 400

Request format does not follow API specs.

Please adhere to request format in Create Remittance API specs here .


RA1056 - Target account should be KYC verified

HTTP Status: 400

The identified account number has a Maya account that is not yet KYC-verified.

Ask customer to advise target accountholder to upgrade their account: Upgrade Account to get more out of Maya | Maya.ph


Execute Remittance Errors


1996 - Catch all error

HTTP Status: 503

If this happens with specific accounts only, it may be that the target account profile type is not allowed based on how the integration was configured. Please check with customer to ensure that the target account is KYC-verified / upgraded: Upgrade Account to get more out of Maya | Maya.ph

If this happens across calls at a certain period of time, it may be because of a system failure on Maya’s side.

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


6041 - Source account is tagged as LOST

HTTP Status: 400

This may occur if source account is tagged in Maya’s system as LOST. For partner integrations, this is unlikely to happen.

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


6043 - Source account is tagged as STOLEN

HTTP Status: 400

This may occur if source account is tagged in Maya’s system as STOLEN. For partner integrations, this is unlikely to happen.

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


6051 - Source account has insufficient balance

HTTP Status: 400

Partner has insufficient balance in their mother account (fund source) to fund the transaction.

Partner needs to fund their mother account first.


6054 - Source account status is EXPIRED

HTTP Status: 400

This may occur if source account is tagged in Maya’s system as EXPIRED. For partner integrations, this is unlikely to happen.

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


6061 - Source/Beneficiary account reached max limit of transaction amount

HTTP Status: 400

Source (Partner) does not have a limit. Beneficiary has reached max limit of transaction amount. Maya Account Limit | Maya.ph

Advise customer to check with target accountholder status of their limits and try sending again the next day or month (based on status of limits).


6065 - Source/Beneficiary account reached max limit of transaction count

HTTP Status: 400

Source (Partner) does not have a limit. Beneficiary has reached max limit of transaction amount. Maya Account Limit | Maya.ph

Advise customer to check with target accountholder status of their limits and try sending again the next day or month (based on status of limits).


6097 - Unicard is down

HTTP Status: 400

System down on Maya’s side.

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

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

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


6098 - Unicard timeout

HTTP Status: 400

System down on Maya’s side.

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

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

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


M122 - Target Account Status is Invalid. Please have the customer reach out to Maya customer hotline for their account status.

HTTP Status: 400

The target beneficiary’s Maya account status is not active, which means that the account may have been suspended or duplicated for some reason.

Ask customer to have their beneficiary coordinate with Maya’s customer hotline to have their account become active again.


M133 - Target profile is not allowed to transact with this client. Please reach out to your integration point of contact for further clarifications.

HTTP Status: 400

The identified Maya account by the beneficiary is NOT a consumer account and is not allowed for the integration with the partner (e.g. Only Maya App / Consumer accounts are allowed to receive, not Maya Business App accounts).

Coordinate with your company’s POC for the Maya integration to check what types of accounts are allowed to be sent to.


RA1047 - Transaction Reference Number does not exist

HTTP Status: 400

The Transaction Reference Number being executed does not exist.

Use the Transaction Reference Number provided in the Create Remittance response for your Execute Remittance call. Sample Create Remittance response can be found here .


RA1048 - Created remittance is already expired

HTTP Status: 400

Created remittances are only valid for 60 minutes.

Trigger another Create Remittance .


Check Remittance Errors


RA1047 - Transaction Reference Number does not exist

HTTP Status: 400

The Transaction Reference Number does not exist.

Use the Transaction Reference Number provided in the Create Remittance response for your Check Remittance call. Sample Create Remittance response can be found here .


API Key and Connectivity Errors


K001 - Missing authentication header

HTTP Status: 401

API keys are not included in the API call.

Input the provided API keys in your API authentication header.


K002 - Key has expired

HTTP Status: 401

API credentials have expired.

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

  • For non-production environments, reach out to the Maya Developer Hub Service Desk
  • For production environments, contact [email protected]
  • Alternatively, you can get in touch with your assigned Maya Relationship Manager to request for new credentials.

K003 - Invalid authentication credentials

HTTP Status: 401

API keys inputted does not exist.

Input the provided API keys in your API authentication header.


K004 - Invalid endpoint

HTTP Status: 401

URL used is invalid.

Please use the provided URL whether for sandbox or production.


K005 - Invalid key type - public/secret key

HTTP Status: 401

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


K006 - Invalid authentication credentials

HTTP Status: 401

The authentication key provided is not in Base64 format.

Convert your decrypted API credentials to Base64 format then try again.


K007 - Invalid key scope

HTTP Status: 401

The key used is for a different service.

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

  • For non-production environments, reach out to the Maya Developer Hub Service Desk
  • For production environments, contact [email protected]
  • Alternatively, you can get in touch with your assigned Maya Relationship Manager to ensure that you are accessing the correct endpoints.

K999 - A problem is encountered

HTTP Status: 401

System down on Maya’s side.

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

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

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