QR Code Payments Explained: UPI, Bharat QR and EMV QR
How does paying with a QR code work? A tea stall, a taxi, a vegetable cart: point your phone, and you've paid. Here's what's actually inside a payment QR code.
In India most of these are UPI codes: a upi://pay link that carries the payee's UPI ID (pa), the name (pn) and the currency (cu), and sometimes the amount. We show static merchant codes vs dynamic codes with the amount built in, how EMV QR codes pack data into ID-length-value blocks with a checksum, how Bharat QR (launched in 2017 by NPCI with the card networks) puts network and UPI IDs in one code, and how schemes like Pix, PromptPay, QRIS and SGQR use the same building blocks. Plus the rule that keeps you safe: scanning to receive money never needs your UPI PIN.
A tea stall, a taxi, a vegetable cart.
Point your phone at a little square and you've paid.
So what's actually inside a payment QR code?
In India, most of them are UPI codes.
UPI is the real-time payment system run by NPCI, the National Payments Corporation of India.
Scan one and inside is just a link.
It starts with UPI colon slash slash pay.
Then come the fields.
P is the payee's UPI ID, PN is their name, and CU is the currency, rupees.
Your app reads them, shows you who you're paying, then asks for your PIN to confirm.
Some codes are static.
There's no amount inside.
Print it once and customers type in the amount every time.
Others are dynamic, made for one order, with the amount and a reference already filled in.
Beyond UPI links, most payment codes use one global layout, EMV QR, published by EMVCo in 2017.
It's one long line of characters, built from blocks.
Each block is a two-digit ID, a two-digit length, then the value.
5303356.
ID 53 is the currency, three characters long.
356 means Indian rupees.
Other blocks hold the merchant's name, the city, and the amount.
The last one is a checksum, so the app can tell if anything got garbled.
India's EMV code is Bharat QR, launched in 2017 by NPCI, Mastercard, and Visa.
One code on the counter can carry card network details and a UPI ID, so customers pay with whichever app they have.
And the same blocks run payments around the world.
Pix in Brazil, PromptPay in Thailand, QRIS in Indonesia, SGQR in Singapore.
Now the rule that keeps you safe.
Scanning a payment code can only send money out, never in.
So if someone asks you to scan a code and enter your PIN to receive a refund, stop.
That's a scam.
And before you confirm, read the payee name.
If it isn't the shop in front of you, don't pay.
So, can anyone make a UPI QR code?
Yes, it's just a link with a UPI ID inside.
Payment apps make one for you, and shops usually get theirs from their bank.
AriaQR can turn a UPI payment code into a picture too, so customers know it's yours.
AriaQR turns any image into a QR code that still looks like your image.
Tested on real scanners before you pay.
Make yours at ariaqr.com.
AriaQR can turn a UPI payment code into a picture too, so customers know it's yours.
