UPI Payment Links Explained: Syntax & Parameters
A developer reference and merchant guide to the upi://pay URI scheme, operating system intent dispatching, and messaging app compatibility.
What is a UPI URI?
Just as web links use https:// and emails use mailto:, the Unified Payments Interface registers a custom protocol scheme named upi://pay with mobile operating systems.
When a user clicks a UPI link on a mobile device, the operating system's intent chooser displays all installed applications that have registered to handle the upi protocol scheme (such as PhonePe, Google Pay, Paytm, BHIM, or bank apps).
Detailed URI Parameter Specifications
A standard UPI payment link is composed of key-value pairs formatted as standard URL search query parameters:
| Key | Status | Specification & Format |
|---|---|---|
| pa | Required | Payee VPA/UPI ID (e.g. name@bank). Must be URL-encoded. |
| pn | Required | Payee display name (e.g. John%20Doe). URL-encoded spaces. |
| am | Optional | Amount in rupees with up to two decimal places (e.g. 150.00). |
| cu | Conditional | Currency code. Must be INR whenever am is defined. |
| tn | Optional | Transaction note or reference (e.g. Invoice%20101). Maximum 50 characters. |
| mc | Optional | Merchant Category Code (MCC) 4-digit numeric code assigned to business accounts. |
Platform & Messaging App Compatibility
Android Behavior
Android has first-class native support for custom URI schemes. Tapping a upi:// link in Chrome, SMS, or WhatsApp instantly launches the system app-chooser showing all available payment apps.
iOS Behavior
On iOS, Safari and WhatsApp handle custom schemes when explicitly configured by apps. However, desktop browsers (macOS / Windows) do not have UPI apps installed, so providing a scannable QR code alongside payment links is best practice.
Create Payment Links Instantly
Use our dedicated, browser-side UPI Payment Link Generator to create clean, properly encoded links ready to paste into WhatsApp, SMS, or invoices.
UPI Payment Link Questions & Answers
What are the mandatory query parameters in a upi://pay URI?
pa (Payee Virtual Address / UPI ID) and pn (Payee Legal / Display Name) are strictly mandatory. All other parameters such as am (amount), tn (transaction note), cu (currency), and mc (merchant category code) are optional.How does intent dispatch work on Android for upi://pay links?
upi:// custom scheme, Android queries the device's PackageManager for all installed applications that declare an <intent-filter> for the android.intent.action.VIEW action with scheme upi. The OS displays an App Chooser sheet allowing the user to select PhonePe, Google Pay, Paytm, BHIM, or any other installed banking app.Why do upi://pay links fail to launch on desktop computers?
upi protocol scheme. Clicking the link on desktop browsers triggers an unhandled scheme notice. The recommended best practice is to pair every payment link with a scannable QR code for desktop viewers.Can I customize the currency parameter (cu) to USD or EUR?
cu=INR). Even for international merchant acceptance (such as in Singapore, UAE, or France), underlying settlement across banking rails is cleared in INR.Can UPI payment links be shared on WhatsApp and Telegram?
upi://pay?... links are automatically recognized as clickable deep-links that launch installed payment apps with a single tap.Do I need a payment gateway account or API key to create UPI links?
upi://pay links require no payment gateway accounts, merchant agreements, or API keys. They leverage the open, decentralized UPI URI protocol supported by all Indian financial institutions.Generate a custom UPI payment link
Zero configuration. Build and copy shareable links instantly.
Related tools
UPI QR Generator
Generate a universal payment QR code from your UPI ID. Download PNG or SVG.
Bank QR Generator
Create a direct bank transfer UPI QR code from Account Number and IFSC.
Payment Link Generator
Build a shareable UPI payment link with optional amount and note.