Antom, leading provider of tailored payment solutions

UPI

Unified Payments Interface (UPI) operates via a UPI-enabled smartphone application for real-time digital payments, enabling users to send and receive money, make instant bill payments, and authorize transactions all within a single application and in a single step.

Properties

The following table lists the product properties supported by UPI:
Payment type
Real-time payment
Acquirer
AntomSG, AntomHK,
AntomUK, AntomUS, AntomEU
Merchant entity location
SG, HK,
UK, US, EEA
Payment flow
Redirect
Refund
✔️
Buyer country/region
India
Partial refund
✔️
Processing currency
INR
Chargeback/Dispute
✔️
Minimum payment amount
1 INR
Refund period
180 days
Maximum payment amount
100,000 INR
Time to return payment result
Real-time

User experience

Note: The following payment flows on different terminals are reference only, and represent this payment method's flow on different terminal types. For supported merchants' terminal types, consult Antom Technical Support.
The following graphics show the user experience of paying with UPI:
UPI ID input (Web)
UPI ID input (WAP)
QR code (Web)
Deeplink (App)

Supported online payment integrations

Antom offers a range of integration options tailored to each payment method. Each payment method may support different online payment integration options, allowing for flexibility based on your business requirements. The table below provides detailed information about the specific integrations available for each payment method:
Supported online payments
Supported integrations
One-time Payments
❌ Payment links
Tokenized Payment
❌
Subscription Payment
❌
EasySafePay
❌
Scan to Link
❌

Integration considerations

Please note the following integration suggestions to ensure a smooth payment process and provide the best experience for your buyers:

Buyer information prefilling

It is strongly recommended that you pass the following buyer information parameters when calling the pay (One-time Payments) API. This allows buyers to directly enter the payment process without any additional steps. Otherwise, UPI will display an additional intermediate page to collect this information:
  • order.buyer.buyerName.firstName
  • order.buyer.buyerName.lastName
  • order.shipping.shippingAddress.zipCode (Due to integration requirements, this parameter must be provided together with order.shipping.shippingAddress.region)
The following code shows a request example:
{
"productCode": "CASHIER_PAYMENT",
"paymentRequestId": "antom_1234567",
"paymentAmount": {
  "currency": "INR",
  "value": 100000
},
"paymentMethod": {
  "paymentMethodType": "UPI"
},
"paymentRedirectUrl": "https://www.google.com",
"paymentNotifyUrl": "https://test.net:8080/amsdemote/result",
"order": {
  "referenceOrderId": "123456",
  "orderAmount": {
    "currency": "INR",
    "value": 100000
  },
  "orderDescription": "Coins",
  "buyer": {
    "referenceBuyerId": "123456789",
    "buyerName": {
      "firstName": "****",
      "lastName": "Govind Pal"
    }
  },
  "shipping": {
    "shippingAddress": {
      "region": "**",
      "zipCode": "600042"
    }
  }
},
"env": {
  "terminalType": "WAP",
  "osType": "ANDROID"
},
"settlementStrategy": {
  "settlementCurrency": "USD"
}
}

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 following buyer information parameters when calling the pay (One-time Payments) API to pre-fill the relevant information on the UPI intermediate page, eliminating the need for buyers to manually enter it. Otherwise, the UPI intermediate page will require re-collection and validation of this information:
  • order.buyer.buyerName.firstName
  • order.buyer.buyerName.lastName
  • order.shipping.shippingAddress.zipCode (Due to integration requirements, this parameter must be provided together with order.shipping.shippingAddress.region)
  • paymentMethod.paymentMethodMetaData.dateOfBirth
The following code shows a request example:
{
"productCode": "CASHIER_PAYMENT",
"paymentRequestId": "antom_1234567",
"paymentAmount": {
  "currency": "INR",
  "value": 100000
},
"paymentMethod": {
  "paymentMethodType": "UPI",
  "paymentMethodMetaData": {
    "dateOfBirth": "xxx"
  }
},
"paymentRedirectUrl": "https://www.google.com",
"paymentNotifyUrl": "https://test.net:8080/amsdemote/result",
"order": {
  "referenceOrderId": "123456",
  "orderAmount": {
    "currency": "INR",
    "value": 100000
  },
  "orderDescription": "Coins",
  "buyer": {
    "referenceBuyerId": "123456789",
    "buyerName": {
      "firstName": "****",
      "lastName": "Govind Pal"
    }
  },
  "shipping": {
    "shippingAddress": {
      "region": "**",
      "zipCode": "600042"
    }
  }
},
"env": {
  "terminalType": "WAP",
  "osType": "ANDROID"
},
"settlementStrategy": {
  "settlementCurrency": "USD"
}
}