What a UPI code holds
A UPI QR code is a upi://pay link, defined by NPCI’s UPI Linking Specifications. The payee’s UPI ID is in pa and their name in pn. An amount in am fixes what you pay, mam sets a minimum you can pay above, tn is the note you’ll see in your statement and tr a merchant’s reference. Merchant codes also carry mc, a merchant category, and may be signed (sign), which your UPI app checks. Codes printed as BharatQR use the EMV merchant format instead; the scanner reads those too and shows the UPI ID inside.
Reading the result
The payee name in a code is typed by whoever made it, so it can say anything. What matters is the name your UPI app shows after you scan: it comes from the bank account behind the UPI ID. If the two differ, or the UPI ID’s handle belongs to an app the shop doesn’t use, ask before paying.
Scams to know
The most common UPI trick is a code sent to “receive” a refund, a prize or payment for something you’re selling. Scanning a code and entering your PIN always sends money. Stickers pasted over a shop’s code redirect payments to someone else’s UPI ID, so check the name on screen at the counter too.
UPI ID handles and their apps
The part of a UPI ID after the @ is the handle of the app that issued it. The scanner shows it next to every UPI ID it decodes, as in "@ybl: a PhonePe user's ID (not PhonePe itself)". Anyone with the app gets an ID with its handle, so a handle never means the app itself is asking for money, whatever name the code shows: always check the name your UPI app shows before you enter your PIN.
| IDs of users of | Handles |
|---|---|
| PhonePe | @ybl, @ibl, @axl |
| Google Pay | @okaxis, @okhdfcbank, @okicici, @oksbi |
| Paytm | @ptaxis, @pthdfc, @ptsbi, @ptyes |
| Amazon Pay | @apl |
| BHIM | @upi |
Only handles each app documents itself, read on 26 September 2026: PhonePe (with its UPI ID help page), Google Pay Help, Paytm's blog, Amazon.in's UPI FAQ and the BHIM FAQ. Many other apps and banks issue UPI IDs with their own handles; NPCI lists every UPI app.