Payment Errors
Maya Business Payment Solutions API is RESTful and uses HTTP response and codes to inform clients of success or failure of requests.
Error responses are returned in JSON format.
{
"code": "PY0009",
"message": "Payment does not exist.",
}
Other errors with a 2553
code in its response body will have parameters
which is an array of objects for invalid fields.
{
"code": "2553",
"message": "Missing/invalid parameters.",
"parameters": [
{
"description": "value must be a number",
"field": "totalAmount.value"
},
{
"description": "A valid currency is required.",
"field": "totalAmount.currency"
}
]
}
Common HTTP errors
HTTP Status | Code | Message | Description |
---|---|---|---|
400 | 2553 | Missing/invalid parameters. | |
400 | PY9999 | Payment Vault is unreachable / timed out. | |
400 | PY0001 | A problem is encountered. Please contact your system administrator. | Generic error please contact support if you encounter this. |
400 | PY0002 | Card is expired. | |
400 | PY0007 | Invalid token status. | |
400 | PY0008 | Token is invalid | |
404 | PY0009 | Payment does not exist. | |
400 | PY0015 | Payment processor server unreachable / timed out. | |
400 | PY0016 | Payment processor service error. | |
401. | PY0019 | Forbidden | Your account does not have access to the API. Please contact Fulfillment Team or your Account Manager |
400 | PY0021 | Failed to add customer. | |
404 | PY0023 | Customer does not exist. | |
400 | PY0024 | Failed to delete customer. | |
400 | PY0025 | Failed to update customer details. | |
400 | PY0026 | Failed to update card details. | |
404 | PY0027 | Card does not exist. | |
400 | PY0028 | Failed to delete card. | |
400 | PY0029 | No card found for customer. | |
400 | PY0030 | Invalid card token status. | |
400 | PY0036 | Card is not supported. | |
400 | PY0037 | Currency is not supported. | |
404 | PY0038 | Webhook does not exist. | |
400 | PY0039 | Webhook already exists. | |
400 | PY0042 | Charging of subscription is not applicable. | |
400 | PY0043 | Card already exists. | |
400 | PY0045 | Payment is not available for void. | |
400 | PY0044 | Payment is invalid. | |
404 | PY0046 | Refund does not exist. | |
401 | PY0047 | Payment is ineligible for refund. | |
400 | PY0048 | Requested refund amount is greater than the original amount. | |
404 | PY0049 | Subscription does not exist. | |
400 | PY0051 | Failed to update subscription details. | |
400 | PY0052 | Failed to cancel subscription. | |
400 | PY0053 | Merchant already exists. | |
400 | PY0054 | Subscription already charged. | |
422 | PY0057 | The payment has expired and cannot be processed. | |
403 | PY0058 | The merchant indicated does not have P2M services enabled. | QR functionality is not enabled on the account |
408 | PY0061 | Notification server unreachable / timed out. | |
400 | PY0062 | Notification service error. | |
404 | PY0063 | Void does not exist. | |
400 | PY0064 | Invalid JSON Format. | |
400 | PY0065 | This merchant has no customizations present. | |
400 | PY0068 | Payment not executed due to authorization failure. | |
400 | PY0069 | Authentication server unreachable / timed out. | |
400 | PY0070 | Scheme is unsupported by merchant | |
400 | PY0071 | Payment mismatch with Merchant. | |
400 | PY0072 | Transaction cannot be processed. Cannot refund a transaction before cut off time. | |
400 | PY0073 | Transaction cannot be processed. Cannot void a transaction after cut off time. | |
400 | PY0082 | Refund already exists. | |
400 | PY0085 | Payment must be reversed from terminal. | |
400 | PY0088 | Card data already provided | |
400 | PY0089 | No card data provided | |
400 | PY0090 | Buyer data already provided | |
400 | PY0091 | Payment state is invalid for sending webhooks | |
400 | PY0092 | Merchant’s registered webhook is unreachable | |
409 | PY0093 | Payment has already been updated. | |
400 | PY0094 | Payment is not available for capture. | |
400 | PY0095 | Amount must be less than or equal to amount authorized. | |
400 | PY0096 | Amount must be equal to amount authorized. | |
PY0100 | Authentication failed. | ||
PY0101 | Acquirer decline due to high risk. | ||
400 | PY0102 | Card is required, as there is no Fund Source attached to your account. | |
400 | PY0103 | Payment is already expired. | |
400 | PY0104 | Reference number is linked to multiple payments. | |
400 | PY0105 | Account has insufficient balance to perform this transaction. | |
400 | PY0106 | Failed to send notification. | |
400 | PY0111 | Invalid batch status. | |
400 | PY0112 | QR data is not supported. | |
400 | PY0113 | Partial refund is not allowed for this transaction. | |
400 | PY0114 | WeChat Service unreachable / timed out. | |
400 | PY0115 | WeChat Service error. | |
400 | PY0116 | Transaction could not be completed. | |
400 | PY0117 | Card is invalid. | |
400 | PY0118 | Transaction could not be completed with this terminal. | |
400 | PY0119 | Issuer declined card or account. | |
400 | PY0120 | Issuer decline. | |
400 | PY0121 | Card is expired. | |
400 | PY0122 | Issuer system is unavailable. | |
400 | PY0123 | Account limit exceeded. | |
400 | PY0124 | Transaction could not be verified. | |
400 | PY0125 | PIN is invalid or incorrect. | |
400 | PY0126 | PIN is invalid or incorrect. | |
400 | PY0127 | Please update incomplete customer records. |