NPCI-style URI · instant QR · no API
Custom UPI deep link & QR generator
Build a properly encoded payment URI, preview its QR, copy it, and test mobile launch buttons for popular UPI apps.
UPI payment parameters
Encoded locally in your browser
Nothing is sent to an API. The VPA, amount, link, and QR stay in this browser tab.
Live QR and launch links
Standard `upi://pay` payload
App-specific schemes work only when the corresponding app and operating system support them. The generic UPI link may open the device chooser. A generated QR is a payment instruction, not proof of payment.
URI anatomy
What each UPI parameter means
The generator follows the `upi://pay` parameter pattern described in the UPI linking specification. URL encoding is essential: spaces, `@`, ampersands, and other reserved characters must not be concatenated by hand. Read the specification
| Key | Field | Example | Purpose |
|---|---|---|---|
| pa | Payee address | merchant@bank | The merchant VPA that should receive the payment. |
| pn | Payee name | Example Store | The merchant name displayed by the compatible UPI app. |
| tr | Transaction reference | ORDER-2026-001 | A merchant reference used to correlate the payment instruction. |
| tn | Transaction note | Payment for order 2026-001 | A short human-readable explanation for the payer. |
| am | Amount | 499.00 | The rupee amount, represented with no more than two decimals. |
| cu | Currency | INR | The currency code used by this generator. |
01 · Encode
Use URLSearchParams
Let a standard URL encoder escape every value. Do not concatenate raw customer or order text into a URI.
02 · Correlate
Use a unique order reference
Create one immutable merchant reference per payment attempt and keep it mapped to the expected amount in your database.
03 · Verify
Never trust the redirect
A launch or redirect proves only that navigation occurred. Use an authenticated provider event or status API before fulfilment.
Questions
UPI deep-link FAQ
- What is a UPI deep link?
- A UPI deep link is a URI beginning with upi://pay that passes encoded payment parameters to a compatible UPI application. It can identify the payee, amount, merchant reference, note, and INR currency.
- Does this tool verify that a UPI ID exists?
- No. The browser performs a syntax check only. Account existence, merchant status, and the final payee identity are resolved by the customer's UPI app and payment provider.
- Can a UPI QR code confirm that the customer paid?
- No. A QR code contains payment instructions and cannot observe a bank transaction. Confirm ecommerce orders using authenticated provider status or a signed server webhook matched to the expected order and amount.
- Why does an app launch button sometimes do nothing?
- Custom URI schemes require a compatible app on a supported mobile operating system. Desktop browsers, in-app browsers, security policies, and app versions can block or ignore a scheme. The generic UPI URI is the portable fallback.
Need verified status after QR generation?
Use a server-created order and signed webhook, not a screenshot.