submitPayment()
This method is used to initiate a payment request to the server. After the buyer clicks your custom payment button, the SDK will automatically process payment information, advance the transaction flow based on the selected payment method, and perform operations such as 3D authentication when required. Payment results and exception information will be returned through asynchronous callbacks.
Method signature
When calling this method, please use the following standard method signature format.
JavaScript
TypeScript
Parameters
The following parameters are used to configure the submission options for the payment request.
options
shippingInfo
shippingAddress
shippingName
Return value
Returns a
Promise
object that resolves to an object containing the payment result.session
nextAction
error
Error codes
Note: The payment results returned by the
submitPayment().then()
method are only for client-side page navigation and status display. For the final order status, please obtain it through Step 3: Obtain the payment result.UNKNOWN_EXCEPTION | PROCESSING | Unknown exception. Please check the payment status and contact the merchant. | Due to unknown reasons, the API call failed. | It is recommended to poll the payment result from the server. If no payment result is found, you can re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
INQUIRY_PAYMENT_SESSION_FAILED | FAIL | The order status is abnormal. Please check the payment status and contact the merchant. | The payment session has expired. | The order has timed out and been closed. Please use a new paymentRequestId to initiate the payment again. |
UI_STATE_ERROR | FAIL | An error occurred. The transaction cannot be initiated. | The timing of the method call is abnormal. | Integration code exception. Please troubleshoot. If the problem persists, contact Antom technical support. |
ERR_DATA_STRUCT_UNRECOGNIZED | None | An error occurred. The transaction cannot be initiated. | The SDK did not return the required payment information. | Please contact Antom technical support for details. |
USER_BALANCE_NOT_ENOUGH | FAIL | The user's balance is insufficient. Please top up or choose another payment method. | Payment failed due to insufficient buyer balance for the selected payment method. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
ORDER_NOT_EXIST | FAIL | The order status is abnormal. Please check the payment status and contact the merchant. | The order does not exist. | Please contact Antom technical support for details. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
PROCESS_FAIL | FAIL | System error. Please check your payment status and contact the merchant. | Common business failure occurred. | Please contact Antom technical support for details. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
ORDER_IS_CANCELLED | FAIL | The order status is abnormal. Please check the payment status and contact the merchant. | The order has been cancelled. | The order has been cancelled. To make another payment, you need to use a new paymentRequestId to re-initiate the payment. |
RISK_REJECT | FAIL | Risk control rejected. We recommend changing the card and trying again or contacting the card issuer. | Due to risk control, the transaction cannot be further processed. If the buyer has made payment for the transaction, it will be refunded. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
ORDER_IS_CLOSED | FAIL | The order status is abnormal. Please check the payment status and contact the merchant. | The request you initiated uses the same paymentRequestId as a closed transaction. | The order has timed out and been closed. Please use a new paymentRequestId to initiate the payment again. |
ACCESS_DENIED | FAIL | System error. Please check your payment status and contact the merchant. | The access is denied. | Please contact Antom technical support for details. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
CARD_EXPIRED | FAIL | Your card has expired. Please check the expiration date or use a different card. | The bank card used for the transaction has expired. | Antom has notified the buyer, and no further action required. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
INVALID_EXPIRY_DATE_FORMAT | FAIL | The card expiration date is incorrect. Please check the expiration date or use a different card. | The format of expiryYear or expiryMonth is incorrect. | Antom has notified the buyer, and no further action required. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
INVALID_EXPIRATION_DATE | FAIL | The card expiration date is incorrect. Please check the expiration date or use a different card. | The value of paymentMethod.paymentMethodMetaData.expiryYear or paymentMethod.paymentMethodMetaData.expiryDate is invalid. | Antom has notified the buyer, and no further action required. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
INVALID_CVV | FAIL | The card CVV is incorrect. Please verify the CVV or use a different card. | The bank card used for the transaction has an invalid CVV. | Antom has notified the buyer, and no further action required. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
INVALID_CARD_NUMBER | FAIL | The card number is incorrect. Please try using a different card or contact the card issuer. | The bank card used for the transaction has an invalid card number. | Antom has notified the buyer, and no further action required. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
SELECTED_CARD_BRAND_NOT_AVAILABLE | FAIL | The card brand is not supported. We recommend changing the card and trying again or contacting the card issuer. | The card brand you specified for transactions is not supported. | The card brand you specified for transactions is not supported. Please troubleshoot. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
CARD_NOT_SUPPORTED | FAIL | The card is not supported. Please try using a different card or contact the card issuer. | The bank card used for the transaction is not supported. | Antom has notified the buyer, and no further action required. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
CARD_BIN_QUERY_ERROR | FAIL | The card number is incorrect. Please try using a different card or contact the card issuer. | The bank card used for the transaction has an invalid card number. | Antom has notified the buyer, and no further action required. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
PAYMENT_IN_PROCESS | PROCESSING /PENDING | The payment is being processed, please wait for the payment to complete. | The payment is being processed. | PROCESSING indicates that no payment result is found after the SDK inquiry. It is recommended to poll the payment result from the server, and re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period.You can check the userCanceled3D field in the response to determine whether the buyer manually closed the 3D Secure pop-up:
|
CURRENCY_NOT_SUPPORT | FAIL | The merchant does not support this currency, and the transaction cannot be initiated. | The currency is not supported. | Please contact Antom technical support for details. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
INVALID_CARD | FAIL | The card number is invalid. Please check the card details or use a different card. | Invalid bank card. Possible reasons include: the bank card number cannot be recognized, the card has no corresponding issuing bank, or the card number format is incorrect. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
ISSUER_REJECTS_TRANSACTION | FAIL | The issuing bank has declined the transaction. Please try using a different card or contact the card issuer. | The issuing bank rejects the transaction. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
INVALID_MERCHANT_STATUS | FAIL | Merchant status is abnormal, and the transaction cannot be initiated. | The merchant status is abnormal because restrictions exist. | Please contact Antom technical support for details. |
KEY_NOT_FOUND | FAIL | Unknown exception. Please check the payment status and contact the merchant. | The private key or public key of Antom or the merchant is not found. | Please contact Antom technical support for details. |
MERCHANT_KYB_NOT_QUALIFIED | FAIL | Merchant status is abnormal, and the transaction cannot be initiated. | The payment failed to your abnormal KYB status. You are either not KYB compliant, or the KYB status is not qualified for this transaction. | Please contact Antom technical support for details. |
NO_PAY_OPTIONS | FAIL | No supported payment method | No payment options are available. | Please contact Antom technical support for details. |
PARAM_ILLEGAL | FAIL | Unknown exception. Please check the payment status and contact the merchant. | The required parameters are not passed, or illegal parameters exist. For example, a non-numeric input, an invalid date, or the length and type of the parameter are incorrect. | Please contact Antom technical support for details. |
PAYMENT_AMOUNT_EXCEED_LIMIT | FAIL | The payment amount is greater than the maximum amount allowed by the contract or payment method. | The payment amount is greater than the maximum amount allowed by the contract or payment method. | Check whether the payment amount exceeds the limit, or use a lower amount and try again. Use a new paymentRequestId to change the amount and re-initiate the payment. |
PAYMENT_COUNT_EXCEED_LIMIT | FAIL | The number of payment attempts by the merchant has exceeded the limit, and the transaction cannot be initiated. | The maximum number of payments exceeds the limit specified by the payment method. | Please contact Antom technical support for details. |
PAYMENT_NOT_QUALIFIED | FAIL | Merchant status is abnormal, and the transaction cannot be initiated. | You are not eligible to make payments, possibly because you are not registered, have not signed the Tokenized Payment contract, or are prohibited from making payments. | Please contact Antom technical support for details. |
SUSPECTED_CARD | FAIL | Risk control declined. Please try using a different card or contact your card issuer. | The bank card is suspected of fraud. For example, it may be stolen or restricted. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
SYSTEM_ERROR | FAIL | Unknown exception. Please check the payment status and contact the merchant. | A system error occurred. | Please contact Antom technical support for details. Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
USER_AMOUNT_EXCEED_LIMIT | FAIL | The amount exceeds the limit. Please initiate the payment with an amount less than or equal to your available balance. | The payment amount exceeds the buyer payment limit. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
USER_KYC_NOT_QUALIFIED | FAIL | Your account status is unusual. Please try using a different card or contact the card issuer.2 | The payment failed because of the buyer's KYC status. The buyer is either not KYC compliant, or the KYC status is not qualified for this transaction (for example, limitations on the payment amount or product information). | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
USER_PAYMENT_VERIFICATION_FAILED | FAIL | Your account status is unusual. Please try using a different card or contact the card issuer. | The buyer is restricted from making payments by the payment method provider. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
USER_STATUS_ABNORMAL | FAIL | Your account status is unusual. Please try using a different card or contact the card issuer. | The buyer status is abnormal on the payment method side. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
DO_NOT_HONOR | FAIL | The payment was declined by the card issuer. We recommend changing the card and trying again or contacting the card issuer. | The payment is rejected by the issuing bank. | Display a pop-up message to the buyer. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
EXTERNAL_RESOURCE_LOAD_FAILED | FAIL | An error occurred. The transaction cannot be initiated. | Google/Apple resource error. | Buyer network exception detected, or their device does not support payments via Google, Apple, or other third‑party‑dependent platforms. It is recommended to display a pop‑up prompting the buyer to check their payment execution environment. |
SUBMIT_PAYMENT_TIMEOUT | PROCESSING | An error occurred. The transaction cannot be initiated. | Network exception occurred during payment submission. | Buyer network exception or Antom service exception detected. Please try to poll the payment result from the server. If the payment result cannot be retrieved, re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
PAYMENT_RESULT_TIMEOUT | PROCESSING | An error occurred. The transaction cannot be initiated. | Network exception occurred while retrieving the payment result. | Please try to poll the payment result from the server. If the payment result cannot be retrieved, re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
USER_CANCELED | PROCESSING | None. | The buyer closed the QR code or leading pop-up manually. | Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
FORM_INVALID | FAIL | None. | Incorrect payment information entered. | Antom has notified the buyer, and no further action required. Re-initiate submitPayment() using the existing paymentSessionData within the payment session validity period. |
FRAUD_REJECT | FAIL | Sorry, this transaction cannot be processed at the moment. If a payment was involved, the funds will be automatically refunded to your payment account. No further action is required. | Due to risk control measures, the transaction cannot be processed further. If the user has already paid for the transaction, the payment will be refunded. | Risk control interception: this transaction has been terminated due to triggered risk control rules. For orders that have already been paid, a refund will be initiated automatically. The time it takes for the refund to be received depends on the payment channel. |
SECURITY_REJECT | FAIL | Declined for security reasons by bank. Contact your bank or try another card. | The transaction was declined because the issuing bank detected a security issue. | Bank interception: the issuing bank declined the transaction based on its risk control policies. Possible reasons include abnormal card status, cross-border transaction restrictions, or daily spending limits. Suggested action:
|
TRANSACTION_NOT_PERMITTED | FAIL | Transaction is not permited. Please try again later. | The issuing bank declined the transaction for this card/account. | Bank decline: the issuing bank did not authorize the transaction. Possible reasons:
Suggested action: guide the buyer to try a different card or payment method, or contact the bank for verification. In most cases, this issue can be resolved by using an alternative payment method. |
RESTRICTED_CARD | FAIL | Card restricted. Contact your bank or try another card. | The issuing bank limits the use of the card. | Card usage restricted: the issuing bank has placed restrictions on usage scenarios for this card. Suggested action:
|
USER_PAYMENT_VERIFICATION_FAILED | FAIL | Your account status is unusual. Please try using a different card or contact the card issuer. | The user is restricted from paying on the payment method side. | Popup notification for buyers. |
DO_NOT_HONOR | FAIL | The payment was declined by the card issuer. We recommend changing the card and trying again or contacting the card issuer. | Payment was refused by the issuing bank. | Popup notification for buyers. |
PAYMENT_AMOUNT_EXCEED_LIMIT | FAIL | Merchant status is abnormal, and the transaction cannot be initiated. | The amount paid exceeds the maximum amount allowed by the contract or payment method. | Check if the payment amount exceeds the limit, or try again with a lower amount. |
RE_ENTER_TRANSACTION | FAIL | The order status is abnormal. Please check the payment status and contact the merchant. | The transaction is temporarily unprocessed. | The transaction cannot be processed at this time. It is recommended to guide the buyer to change the payment method, or contact the bank to confirm the reason and try again. |
BLOCKED_FIRST_USED | FAIL | Blocked by bank. Contact your bank or try another card. | The card may be temporarily suspended for the following reasons: it has not been activated for the first time, or it may be subject to special conditions (such as a new card not being activated). | This card is a new card that hasn't been activated, or the issuing bank has set special usage conditions (such as requiring in-person activation for the first transaction). We recommend guiding the buyer to:
|
POLICY | FAIL | Payment declined by bank. Try again or another card. | Policy restrictions. | Card policy restrictions: The issuing bank has set transaction type limits on this card. Suggested action:
|
ACCOUNT_CLOSED | FAIL | Card Not Allowed. Please try another card. | The account has been closed. Please verify the accuracy of the account number and do not process the same bank card number or token again. | Account status issue: The issuing bank has reported that the account is closed. Please do not attempt to use the same card number again. This is a terminal error, and resubmitting will not succeed and may trigger platform or bank risk control rules. We recommend guiding the buyer to use a different card. |
LIFECYCLE | FAIL | Your card number/expire date/CVV is invalid. | The transaction was declined due to invalid card data. | Invalid card data: Card issuing bank or card network failed to verify card information. Possible causes:
|
PICKUP_CARD | FAIL | Card Not Allowed. Please try another card. | The issuing bank requires the merchant to retain the payment card. This situation usually occurs in cases of suspected counterfeit cards or fraudulent transactions. | The issuing bank requires the card to be retained. High risk: the issuing bank has indicated that the card may be associated with fraud risk, such as a suspected counterfeit or stolen card, and has requested that it be retained. In offline scenarios, the card should be retained in accordance with the bank’s instructions and the authorization center should be contacted. In online scenarios, the transaction should be terminated immediately, relevant information should be recorded, and the buyer should be advised to contact the issuing bank. |
INVALID_AMOUNT | FAIL | The payment amount seems invalid. Please check the amount and try again. | The issuing bank may decline the transaction for various reasons, such as an invalid specified amount or exceeding the maximum limit. | Transaction declined due to amount issues: The issuing bank rejected the transaction because of the amount. Possible reasons:
|
DOMESTIC_DEBIT_TRANSACTION_NOT_ALLOWED | FAIL | Payment Restricted. This type of bank card does not currently support this transaction. Please use another payment method. | Domestic debit card transactions are not allowed (for regional use only). | Unsupported card type: Domestic debit cards are not supported for transactions in the current channel/scenario. Please use a different card for the transaction. |
BLOCKED_BY_CARDHOLDER | FAIL | Bank cards are temporarily unavailable. Please use another payment method to complete the payment. | The card is locked by the buyer. | The card has been actively locked by the cardholder (possibly through the bank app for reporting loss, freezing, or setting a security lock). We recommend guiding the buyer to:
|
INSTALLMENT_NOT_SUPPORTED | FAIL | This card does not support installment payments. Please use a different card to pay. | The card or merchant does not support installment payments. | This card does not have the installment feature enabled, or the current merchant/transaction scenario does not support installments. Suggested action:
|
PAYMENT_METHOD_SYSTEM_ERROR | FAIL | System busy. The payment system is temporarily unable to process your request. Please try again later or choose another payment method. | Payment method system error. | The payment system of the issuing bank is abnormal. It is recommended to guide the buyer to retry or change the payment method later. If the error continues, contact technical support to check the channel status. |
INVALID_INSTALLMENT_PLAN | FAIL | The number of installment periods is incorrect. Please change the selected installment period and try again. | The number of installments or intervals is incorrect. | Installment parameters error: The number of installments or the interval rules in the request are incorrect. Please check if the installment parameters are within the supported values, or contact the channel to confirm the installment plan supported by the card. Suggested action: Prompt the buyer to modify the number of installments or change the card and try again. |
INVALID_CPF | FAIL | Identity verification failed. Please verify your information and resubmit. | The provided CPF number is invalid. | The CPF (Brazilian tax number) provided by the buyer is in the wrong format or has failed validation. Please prompt the buyer to check the input format or contact Antom technical support to see if local rules need to be adapted. |
REFERRAL_ISSUER | FAIL | This bank does not currently support this transaction. Please use an alternative payment method. | The transaction was declined by the issuing bank. | The transaction was declined by the issuing bank, and no specific reason was provided. We recommend guiding the buyer to:
|
INVALID_PIN | FAIL | The PIN code is incorrect or does not meet the requirements. Please re-enter it or change your payment method. | The provided PIN code is incorrect or does not meet requirements. | The PIN is incorrect or does not meet the requirements (entered incorrectly, format is invalid, or the channel requires an online PIN that was not provided). Suggested action:
|
LAW_VIOLATION | FAIL | Your bank does not currently support this transaction. We recommend:
| The issuing bank declined the transaction. | Bank rejection: The issuing bank did not authorize this transaction. Possible reasons:
Suggested action: Guide the buyer to use a different card for payment or contact the bank to verify. This error can usually be resolved by changing the payment method. |
LOST_CARD | FAIL | Your bank card is in an abnormal state. Please contact your issuing bank or use an alternative payment method to complete the payment. | Lost card (fraudulent account). | Lost card or fraudulent account. The card has been flagged as lost, stolen or involved in a fraudulent transaction. Guide buyers to replace other bank cards. |
STOLEN_CARD | FAIL | Your bank card is in an abnormal state. Please contact your issuing bank or use an alternative payment method to complete the payment. | Stolen card (fraudulent account). | Stolen card or fraudulent account: This card has been marked as stolen and is involved in fraudulent transactions. Suggested action: Inform the buyer that the card appears to be abnormal and guide them to use a different bank card. |
INVALID_TRANSACTION | FAIL | If the transaction fails, please do not retry. Contact Antom Technical Support for more information. | Invalid transaction. | The transaction has been deemed invalid. Possible reasons:
Please check the completeness of the request parameters. |
Best practices
Loading management
Before calling the
submitPayment()
method, you may add a loading indicator and close it when handling the callback in the .then()
method.