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:

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:

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"
}
}