Skip to content
Business & Regional

India UPI QR Codes: UPI URI Payload, VPA Format, and Merchant Codes

Codexengr, QR Systems Engineer
Published 2026-09-13 (Updated 2026-10-05)
6 min read
Peer Reviewed & Fact Checked

1. URI Structure

``` upi://pay?pa=merchant@bank&pn=Merchant+Name&mc=5411&tid=TXN001&tr=Ref001&tn=Purchase&am=500.00&cu=INR ```

* `pa` – payee VPA (Virtual Payment Address), required. * `pn` – payee name, recommended. * `mc` – merchant category code, for merchants. * `am` – amount; omit for a variable-amount static code. * `cu` – currency, always INR. * `tr` – transaction reference. * `tn` – transaction note.

2. Static vs Dynamic

A static QR omits the amount and reference so any payer can enter their own amount. A dynamic QR includes a pre-filled amount and reference, suitable for specific invoices.

3. Verification

Scan with BHIM or any UPI-enabled bank app before printing. Confirm the payee name shown matches the VPA holder.

4. Error Correction

Use level M for screen display and level Q or H for printed signage.

Frequently Asked Questions

Is the amount mandatory in a UPI QR?

No. Omitting it creates a static code the customer fills in. Include it for specific invoices or order amounts.

What is a VPA?

A Virtual Payment Address, also called a UPI ID, such as name@bank. It routes the payment to the correct account.

Ready to generate high-precision QR codes?

Test your designs in real-time with our 100% client-side QR studio suite. Zero tracking, instant vector downloads.

Open Studio