Accept payments with Indian cards
This topic introduces how to integrate Indian card payments through the hosted mode. In this mode, Antom handles the payment information collection process, ensuring that sensitive cardholder data does not pass through your server. This helps you avoid PCI-DSS compliance burdens, as you do not need to build a PCI-DSS compliant payment environment or obtain PCI certification. Whether buyers use mobile devices or desktop browsers, they can enjoy secure, efficient, and localized payment capabilities, significantly improving payment experience and success rate.
Integration preparations
Before you start integrating, read the Integration Guide and API Overview documents to understand the integration steps of the server-side API and the precautions for calling the API. Furthermore, ensure that the following prerequisites are met:
- Obtain a client ID
- Complete the key configuration
- Complete the configuration of paymentNotifyUrl to receive the asynchronous notification
- Integrate the server-side SDK package, install the server-side library, and initialize a request instance. For more details, refer to Server-side SDKs.
Integration steps
Start your integration by taking the following steps:
- Initiate an authorized payment
- Redirect to the Antom intermediate page to collect card information
- Obtain the authorized payment result
- Obtain the capture result
Step 1: Initiate an authorized payment
After the buyer submits payment, you need to collect key information such as the buyer’s card details, order information, device information, and payment amount. Follow Step 1: Initiate an authorized payment to call the pay (One-time Payments) API and submit the payment request. You do not need to pass in card payment parameters or 3DS information, but you need to pass in the following parameters:
Notes:
- Card-on-file payments: Buyers can choose to save their card details during the first payment, and for subsequent payments, they can select a saved card to complete the transaction quickly without re-entering card information. To enable the card-on-file feature, you must pass the card-on-file parameters listed in the table below.
- Buyer information prefilling: It is strongly recommended that you pass the buyer information parameters listed in the table below. This allows buyers to directly enter the payment process without any additional steps. Otherwise, the payment method will display an additional intermediate page to collect this information.
- Travel industry considerations: If you are in the travel industry, please be aware of India's Liberalised Remittance Scheme (LRS) regulations. These regulations set limits on individual cross-border transactions, and the payment method will perform pre-validation to avoid transaction failures. It is strongly recommended that you pass the buyer information parameters and travel industry parameters listed in the table below, so as to pre-fill the relevant information on the payment method intermediate page, eliminating the need for buyers to manually enter it. Otherwise, the payment method intermediate page will require re-collection and validation of this information.
Type | Parameter name | Required | Description |
Basic parameters | paymentMethod.paymentMethodMetaData.requireIndianAuthentication | Yes | Specifies whether buyer information authorization must be completed through the Indian local agency page in Indian card payment scenarios. In the current scenario, set this parameter to |
Card-on-file parameters | order.buyer.referenceBuyerId | No | Buyer ID.
|
Buyer information parameters | order.buyer.buyerName.firstName | No | Buyer's first name. |
order.buyer.buyerName.lastName | No | Buyer's last name. | |
order.shipping.shippingAddress.zipCode | No | The ZIP or postal code. | |
order.shipping.shippingAddress.region | No | The 2-letter country or region code.
| |
Travel industry parameters | paymentMethod.paymentMethodMetaData.dateOfBirth | No | The date of birth of the cardholder. |
The following code shows a sample of the request message:
Basic scenario
{
"env": {
"clientIp": "1.2.3.4",
"terminalType": "WEB"
},
"order": {
"buyer": {
"referenceBuyerId": "yourBuyerId"
},
"orderAmount": {
"currency": "INR",
"value": "1000"
},
"orderDescription": "antom testing order",
"referenceOrderId": "referenceOrderId01"
},
"paymentAmount": {
"currency": "INR",
"value": "1000"
},
"paymentFactor": {
"isAuthorization": true
},
"paymentMethod": {
"paymentMethodType": "CARD",
"paymentMethodMetaData": {
"requireIndianAuthentication": true,
}
},
"settlementStrategy": {
"settlementCurrency": "USD"
},
"paymentNotifyUrl": "https://www.yourNotifyUrl.com",
"paymentRedirectUrl": "https://www.yourMerchantWeb.com",
"paymentRequestId": "20250326169319********",
"productCode": "CASHIER_PAYMENT"
}Step 2: Redirect to the card information collection page
After the merchant server obtains the card information collection URL (normalUrl) returned in the response of pay (One-time Payments), follow the steps detailed in Step 2: Redirect to the bank selection page to pass this URL to your client. The merchant client then redirects to Antom’s hosted page to securely collect the buyer’s card details.
Step 3: Obtain the authorized payment result
After the buyer completes the payment or the payment times out, Antom will send the corresponding payment result to you through server interaction. Obtain the authorized payment result by following the steps detailed in Step 3: Obtain the authorization result.
Step 4: Obtain the capture result
After successful authorization, Antom will automatically initiate capture for you, or you can choose to initiate capture manually. After capture, you can obtain the capture result either via asynchronous notification or active query. You should decide whether to ship goods based on the capture result. For specific operations, refer to Capture.
After payments
After completing the payment, you can perform the following actions:
Cancellation
In card payment scenarios, Antom supports transaction cancellation (void) under the following three situations:
- If a transaction is successfully authorized but automatic capture fails, Antom will automatically void the transaction after 7 days. You may also proactively cancel the transaction to prevent the buyer’s funds from being frozen for 7 days.
- If you capture manually but decide not to proceed with capturing an authorized order, you can call the cancel API to cancel the transaction and immediately release the funds.
- For transactions where authorization was not completed, you can call the cancel API to cancel the transaction directly to prevent duplicate charges.
Refer to Cancel for more details.
Common questions
Q: Can an order be canceled after successful capture?
A: No. Once an order is successfully captured, it cannot be canceled. If you need to process the funds for this order, please initiate a refund. For specific procedures, refer to Order lifecycle.
Q: Will an authorized order be automatically canceled if no capture is initiated?
A: Yes. For an authorized order, capture must be initiated within 7 days. Otherwise, Antom will automatically void the order to release the funds, without requiring you to call the cancel API. To prevent the buyer's funds from being frozen for 7 days, it is recommended to proactively call the cancel API to release the funds in advance.
Refund
Different payment methods have varying refund capabilities. To learn about Antom refund rules and how to initiate a refund for a successful transaction, refer to Refund.
Dispute
Antom provides dispute resolution services for contested transactions. For more information, refer to Dispute Guidance and Dispute resolution.