Transaction Status/Errorcode
1. Transaction Status
After Payermax accepts your order request, you can sense the payment status through Transaction Inquiry or notification. You can obtain transaction status to formulate business processes. The status is as follows:
Status | Description | Remark |
SUCCESS | Successful transaction | User's payment is successful |
PENDING | Transaction processing | Wait for user to complete payment |
FAILED | Transaction failed | Payment failed |
CLOSED | Transaction closed | The user did not complete the payment within the validity period |
When the order is unsuccessful, PayerMax will provide an error code so that you can analyze the reason for the failure.
2. Errorcode
Payermax’s external API provides stable services. If an exception occurs, you will be notified of the error message in the body of the http interface response, for example:
json
{
"msg": "The amount doesn't match the payment method requirement.",
"code": "AMOUNT_LIMIT"
}
Similarly, in asynchronous callbacks, failure information will also be responded to, for example:
json
{
"msg": "Payment was not completed on time.",
"code": "PAYMENT_FAILED",
"data": {
"reference": "JOLLY",
"country": "TH",
"totalAmount": 300,
"outTradeNo": "TP002024051309261650130939",
"currency": "THB",
"tradeToken": "T2024051309124735760727",
"paymentDetails": [],
"status": "CLOSED"
},
"keyVersion": "1",
"appId": "5a48dcf440074021b87d4ef901bf9629",
"merchantNo": "SP18440851",
"notifyTime": "2024-05-13T10:28:03.606Z",
"notifyType": "PAYMENT"
}
If the transaction is accepted normally, the returned code is "APPLY_SUCCESS".
2.1 Errorcode List
Category | Result Code | Description | Comments |
System Exception | SYSTEM_ERROR | System is busy, please try again later. | System error; please contact PayerMax. |
REQUEST_TIMEOUT | Request timeout or didn't get result, If you have finished to pay, pls wait for the result. | Request timed out; please contact PayerMax. | |
UNEXPECTED_ERROR | No further information for the error, plz try it later. | Unknown error; please contact PayerMax. | |
Basic Verification Exception | SIGN_VERIFY_FAILED | The signature verify failed. | Wrong signature; please verify signature. |
MERCHANT_INVALID | The merchant has been offline. | Invalid merchant. | |
MERCHANT_APP_INVALID | Signature key is not configured. | Invalid merchant APP. | |
PARAMS_INVALID | ${field} length must be between ${min} and ${max},but your input value length is ${length}.Make sure all requests length is correct. | Invalid parameter - the input parameter field length does not meet the requirements; please refer to the official website field description. | |
PARAMS_INVALID | ${field} must be ${type} , but your input is ${valueType}.Make sure all requests type is correct. | Invalid parameter - the input parameter field type is incorrect; please refer to the official website field description. | |
PARAMS_INVALID | ${field} is invalid,because ${field} is null. | Invalid parameter - the input parameter field cannot be empty; please refer to the official website field description. | |
Business Verification exception | AMOUNT_INVALID | Amount is incorrect. | Invalid Amount. |
COUNTRY_INVALID | No country support, pls re-pay. | Invalid country, please refer to Supported Country/Region and Currency. | |
CURRENCY_INVALID | currency is invalid,because currency is not defined. | Invalid currency, please refer to Supported Country/Region and Currency. | |
CONTRACT_INVALID | Merchant has no activated contract, please check the contract status. | Invalid contract; please check contract validity. | |
CONTRACT_INVALID | Merchant has not signed the contract in ${value}. | The specified country/region is not signed; please check contract validity. | |
CONTRACT_INVALID | Merchant has not signed the ${paymentMethod} payment method. | The specified payment method is not signed; please check contract validity. | |
CONTRACT_INVALID | Merchant has not signed the ${targetOrg} target origination correspondingly, although you have signed the ${paymentMethod} payment method. | The specified target institution is not signed a contract; please check contract validity. | |
CONTRACT_INVALID | Merchant has not signed the ${currency} currency correspondingly, although you have signed the ${paymentMethod} payment method. | The specified payment method is signed, but the specified currency is not; please check contract validity. | |
CONTRACT_INVALID | Merchant has not signed the ${currency} currency correspondingly, although you have signed the ${paymentMethod} payment method and the ${targetOrg} target origination. | The specified target institution is signed, but the specified currency is not; please check contract validity. | |
PAYMENT_METHOD_NOT_EXIST | The payment method does not exist. | The payment method does not exist; please change other payment methods. | |
PAYMENT_METHOD_SUSPEND | The payment method already suspend, plz try other payment methods. | The payment method is temporarily unavailable; please change to another payment method. | |
AMOUNT_LIMIT_MINIMUM | The order amount is lower than the minimum limit of the payment method. | Minimum amount limit. | |
AMOUNT_LIMIT_MAXIMUM | The order amount exceeds the maximum limit of the payment method. | Maximum amount limit. | |
AMOUNT_LIMIT | The amount doesn't match the payment method requirement. | Amount limit. | |
ORDER_REPEAT | The order number repeat. | Duplicate order. | |
ONBOARD_ERROR | Please complete the merchant onboarding, then refresh the page. | The merchant is not onboarded; please complete merchant onboarding first. | |
PAYMENT_PROCESSING | The payment is processing, pls check the result. | Payment is being processed; please try again later. | |
PARTICIPANT_INVALID | Invalid participant. | Invalid ledger participant. | |
ORDER_CLOSED | This order has been closed. | Order closed. | |
BALANCE_INSUFFICIENT | Insufficient balance to pay, please confirm payment account available balance. | Insufficient balance. | |
OTP_VERIFY_LIMIT | OTP verification exceeds limit. | OTP verification exceeds limit. | |
OTP_VERIFY_FAILED | OTP verification failed. | OTP verification failed. | |
OVER_VERIFY_LIMIT | Exceeded the number of verifications. | Verification times exceeded. | |
BARCODE_REFRESH_LIMIT | Over barcode refresh times. | Barcode refresh limit. | |
BARCODE_REFRESH_FAILED | Barcode refresh failed. | Barcode refresh failed. | |
CARD_INVALID | Make sure the card number is correct. | Invalid card number. | |
CARD_EXPIRE_DATE_INVALID | Invalid card number validity period. | Invalid card number validity period. | |
CARD_HOLDER_NAME_INVALID | Invalid cardholder name. | Invalid cardholder name. | |
CVV_INVALID | Cvv is incorrect, pls check. | Invalid CVV. | |
UNSUPPORT_CARD | This card don't support, please change another card. | unsupported card. | |
ACCOUNT_INVALID | Your acount is invalid or not active, please confirm and re-enter. | Invalid account. | |
PHONE_NUM_INVALID | The phone number is invalid, pls check and re-enter. | Invalid phone number. | |
UPI_INVALID | UPI is incorrect. | Invalid UPI. | |
PIN_VERIFY_LIMIT | Pin verification exceeds limit. | Pin verification exceeds limit. | |
PIN_INVALID | Pin is invalid. | Invalid Pin. | |
BANKCODE_INVALID | Invalid bank card number. | Invalid bank card number. | |
ID_NUM_INVALID | Invalid ID number. | Invalid ID number. | |
EMAIL_INVALID | Your email is invalid, or your account is not active, please confirm and re-enter. | Invalid Email. | |
DOCUMENT_INVALID | Invalid document. | Invalid document. | |
TCK_INVALID | TC Kimlik No. is incorrect. | Invalid TC Kimlik No. | |
DATE_INVALID | The data format is error, please check. | Invalid date format. | |
PAYEE_NAME_INVALID | Your name is invalid, or does not match, please confirm and re-enter. | Invalid payer name. | |
REMARK_INVALID | Invalid remark. | Invalid remark. | |
CNIC_INVALID | The CNIC is incorrect, pls confirm and re-enter. | Invalid CNIC. | |
PAYMENT_FAILED | Provider failed to process. | Payment failed. | |
ACCOUNT_BLOCKED | Payer account/card blocked or frozen. Pls confirm payment account/card status. | Account locked/frozen. | |
PAYMENT_CANCELED | payment canceled. | User cancels in third-party payment. | |
Authorization Exception | AUTHENTICATE_FAILED | Your payment was declined due to authentication failure. Please try using a different card or contact your issuer for more detail. | Authorization failed. |
AUTH_EXPIRED | The authorization has expired, pls rebind. | Authorization expired. | |
AUTH_FAILED | Authorization failed. | Authorization failed or does not exist. | |
Transaction Denied Exception | PAYMENT_REJECTED | Transaction failed at processor end due to risk control.Please try using a different payment method/card. | Request Denied. |
DECLINED_BY_MERCHANT_BLACKLIST | transaction failed at processor end due to risk control. | Merchant blacklist blocking. | |
ISSUER_PAYMENT_REJECTED | Transaction failed at issuer end due to risk control. Please contact your payment method issuer for more detail. | Request rejected by third party. | |
Inquiry | ORDER_NOT_EXIST | The order does not exist. | Order does not exist. |
Refund | REFUND_FAILED | The payment method does not support partial refund. | Refund failed - the payment method does not support partial refunds. |
REFUND_FAILED | The payment method does not support refund. | Refund failed - the payment method does not support refund. | |
REFUND_FAILED | The refund amount is too small to refund. | Refund failed - refund amount too small. | |
REFUND_NO_INVALID | RefundNo shouldn't same with TradeNo. | Invalid refund order number. | |
REFUND_NO_INVALID | Insufficient balance to refund. | Insufficient balance, cannot be refunded. | |
ORDER_NOT_EXIST | The orginal order does not exist. | The orginal refund order does not exist. |