A shop, stall or freelancer with a UPI ID, the name@bank handle a bank or payment app assigns, usually wants a UPI QR code generator to print a code at the counter instead of asking each customer to type it in by hand. UPI apps read a specific link format, upi://pay, carrying that ID and, optionally, a name and a fixed amount.
MakeQR encodes that link exactly as given, without validating or connecting to any bank or UPI app. The detail that trips people up is which field to use: a upi:// link pasted into the web address type gets rejected as invalid, since that field only accepts standard http links; plain text is the one that works.
Building a UPI payment code
Find your UPI ID
Most UPI apps — GPay, PhonePe, Paytm, BHIM and others — show it under your profile or bank account details, usually in the form yourname@bankhandle.
Build the payment link
The standard format is upi://pay?pa=yourid@bank&pn=Your Name&cu=INR. Add &am=amount only if the price is fixed; leave it out for a code meant to work for any amount, such as a shop counter.
Use the plain text type in MakeQR, not the web address one
Paste the full upi:// link into the text field. The address field strips anything that isn't a standard http or https link, which would leave a UPI code empty.
Test with a real UPI app before printing
Scan the code with a UPI app on a second phone and confirm it opens the payment screen with your name and ID showing correctly, before it goes on a sign or a printed material.
Why the amount field is worth leaving blank
Encoding a fixed amount makes sense for a specific invoice or a fixed-price item, but a general counter code that's meant to stay taped up for months is more useful without one — a fixed amount baked into a static code means printing a new one every time a price changes, while an empty amount lets the payer type in whatever the sale actually comes to.
A shop's counter code versus a personal request
A small business printing a code for repeat use at a till benefits from a plain, undated code with no amount, left up indefinitely. Someone requesting a one-off payment from a friend, splitting a bill or invoicing a specific job is better served adding the amount to skip a step for the payer.
UPI apps differ slightly in what they show
Every major UPI app reads the pa, pn and am fields the same basic way, but the exact confirmation screen — whether the payer's name shows before or after the ID, for instance — varies by app. That's normal and doesn't indicate anything is wrong with the code itself.
What the code contains
The literal UPI deep link, unedited: your UPI ID, optionally your display name, the currency code, and an amount if one was set. It is not a web page — a UPI app is what interprets it, so scanning it with a plain camera app that has no UPI integration may just show the raw text instead of opening a payment screen.
upi://pay?pa=yourshop@okhdfcbank&pn=Your Shop&cu=INRSizing it for a counter or a till
A counter code is read from close range by someone standing right at the register, so 25-30 mm printed clearly is enough. Laminate it if it's going to sit on a counter rather than behind a till screen, since a payment code gets touched and wiped far more than most printed material.
Print it at least 25 mm (2.5 cm) wide
Where a UPI code fails to open
Pasting the link into the web address field
MakeQR's URL field only accepts http and https links and strips anything else, which silently empties out a upi:// link. Use the plain text field instead.
Typing the UPI ID with a typo
An extra character or wrong bank handle in the pa field points at an account that doesn't exist, or isn't yours, and the code itself gives no warning since it's just encoding whatever text it's given.
Baking in an amount that later changes
A fixed am value on a code meant to stay up indefinitely means every price change requires a new code, unless the amount is left off entirely.
Static covers almost every UPI use
A UPI ID rarely changes once it's set up, so a free static code is normally enough for a shop counter or an invoice. Dynamic only adds value if you expect to switch UPI IDs or bank accounts later and want to update the destination without reprinting a counter sign.
How dynamic QR codes workWhere a UPI code gets printed
- A small shop's counter sign for everyday purchases.
- A street vendor's laminated card taped to a cart.
- An invoice footer for a freelancer working with clients in India.
- A donation box at a community event.