UPI - QR Code

UpiQrPayload

Payment Method Identifier

UPI_QR

Description

This method allows you to accept UPI QR payments. There are two options for this method: customers can either scan the UPI QR code using the mobile app that supports UPI or use a deep link to proceed with the payment on their mobile device.

Currency Support

INR only (Indian Rupee)

✅ Required Request Fields

Top-Level Fields

FieldTypeDescription
callbackUrlStringURL to receive transaction status updates
successRedirectUrlStringURL to redirect the customer after successful payment
failureRedirectUrlStringURL to redirect the customer after failed payment

Billing Details (ApmBillingDetails)

FieldTypeDescription
firstNameStringCustomer’s first name
lastNameStringCustomer’s last name
address1StringFirst line of the billing address
cityStringCity of the billing address
countryStringCountry code in ISO Alpha-2 format
postalCodeStringPostal/ZIP code
phoneStringCustomer’s phone number
emailStringCustomer’s email address

Device Information (Device)

FieldTypeDescription
ipStringCustomer’s IP address

Payload Structure

{
  "paymentMethod": "UPI_QR",
  "paymentType": "BANK_TRANSFER"
}

Fields

FieldTypeRequiredDescription
paymentMethodEnumYesMust be "UPI_QR"
paymentTypeEnumYesMust be "BANK_TRANSFER"

No additional fields are required. All necessary user interaction is handled within the mobile app that supports UPI.

Expected apmResponseData (UpiQrResponseData)

{
  "paymentMethod": "UPI_QR",
  "paymentType": "BANK_TRANSFER",
  "redirectUrl": null,
  "iframeUrl": null,
  "providerTransactionId": "189119848",
  "actionType": "QR",
  "qrData": "image/png;base64,iVBORw0KGgoAAAA...1wc8AAAAASUVORK5CYII=",
  "qrDeepLink": "upi://pay?pa=gazefashionhub@yesbank&pn=&m=&tr=5918162144824477&tn=Invoice&am=100.00&cu=INR"
}

Response Fields

FieldTypeDescription
paymentMethodEnum"UPI_QR"
paymentTypeEnum"BANK_TRANSFER"
redirectUrlString (nullable)always null for UPI_QR
iframeUrlString (nullable)always null for UPI_QR
providerTransactionIdString (nullable)Transaction ID from the payment provider
actionTypeStringalways QR
qrDataString (nullable)QR code image data (base64) that can be used in image tag, for example <img src = '$qrData' class="img-fluid" height="200" width="200" alt='QR Code'>
qrDeepLinkString (nullable)Link that can be opened on a mobile device to forward the customer to the app that supports UPI