Skip to main content

UPI Intent URL

Returns a single-shot UPI intent URL of the form upi://pay?pa=...&pn=...&am=...&tr=.... Trigger the deep-link from your mobile app and the customer's UPI app opens with the payment pre-filled.

Endpoint

POST https://pgbiz.omniware.in/v2/getpaymentrequestintenturl
Content-Type: application/x-www-form-urlencoded

Request parameters

Same as Payment Request.

Response

{
"data": {
"upi_intent_url": "upi://pay?pa=MERCUAT@bank&pn=Karmendra+Biz&am=13.45&mam=13.45&tr=6478789&tn=Payment+for+6478789&mc=5021&mode=04&purpose=00",
"qr_code": null,
"payment_request_id": 6478789,
"order_id": "ORD-1001"
}
}

Or with a QR image (enable on your account first):

{
"data": {
"upi_intent_url": "upi://pay?pa=techanalyst@axis&pn=Tyche+Payment+Ltd&tr=369155117&tn=test+payment&am=2&cu=INR",
"qr_code": "data:image/png;base64,iVBORw0KGgoAAA...",
"payment_request_id": 369155117,
"order_id": "ASXD125415"
}
}
note

QR image generation is off by default. Contact your relationship manager to enable it on your account.

On the device

val intent = Intent(Intent.ACTION_VIEW, Uri.parse(upiIntentUrl))
startActivityForResult(intent, REQUEST_UPI)

After the customer pays, Omniware sends the result to your return_url and (if configured) to your S2S webhook. Status can also be pulled with Payment Status using the order_id.

warning

The UPI intent flow does not redirect the browser back to your return_url reliably on all devices. Always reconcile via Payment Status or webhook before fulfilling.