UPI & QR · Guide
UPI QR payments, from the counter to the checkout
A UPI QR is a code a customer scans with any UPI app to pay you directly from their bank account. At a shop counter it replaces cash and card machines; at a desktop checkout it replaces typing a card number. This guide explains how it works on both sides of the counter: static and dynamic codes, what the customer and the merchant each see, when a payment is really confirmed, what happens when it fails, and how every QR payment is reconciled.
Two sides of one QR payment
A ₹640 counter sale with a dynamic QR, as the customer and the merchant see it
Customer
- ShowSees the QR on the counter screen or printed bill
- ScanScans it with any UPI app; the app shows the shop's name and ₹640
- ApproveChecks the name and amount, then enters their UPI PIN
- ConfirmThe app shows success and a transaction reference
- CloseLeaves with the goods; no cash, no card
Merchant
- ShowBilling creates a dynamic QR for ₹640, linked to bill 1182
- ScanWaits: nothing has happened on the merchant's side yet
- ApproveStill waiting: the customer's bank is processing the payment
- ConfirmPayment confirmed: the sound box announces it, or the dashboard updates
- CloseBill 1182 is marked paid and later matched to settlement
If the customer's app says 'pending' at step 4
- The customer shouldn't pay again: the first payment may still succeed.
- The merchant waits for its own confirmation before handing over goods or cancelling the bill.
- If the customer was debited but the payment didn't complete, the money is reversed automatically, within T+5 under RBI's framework.
Chapter 01
How UPI works
UPI (Unified Payments Interface) moves money straight from one bank account to another, in real time, using an app on the customer's phone. It is run by NPCI. The customer never shares a card number or bank details with you: they approve the payment in their own app with a UPI PIN that only they know.
Every payment passes through a handful of parties. The customer only sees their app; the merchant only sees a confirmation. Everything in between happens in seconds.
- 01Customer's UPI app
Scans the QR, shows the payee, asks for the UPI PIN
- 02NPCI's UPI switch
Routes the request between the banks
- 03Customer's bank
Checks the PIN and balance, debits the account
- 04Merchant's bank or provider
Receives the credit and confirms it
- 05Peneu
Creates QRs, tracks status, tags and reconciles collections
Chapter 02
What a UPI QR is
A UPI QR is a payment request in picture form. When scanned, it tells the customer's app who to pay: at minimum the merchant's UPI ID and name. A QR generated for a particular sale can also carry the amount and your own reference for the order, so the customer only has to check and approve.
Because every UPI app reads the same format, one QR works with any UPI app the customer prefers. There's nothing for the customer to install, and nothing for you to integrate per app.
Chapter 03
Static vs dynamic QR
There are two kinds of UPI QR. The difference decides who types the amount, whether a payment can be matched to an order automatically, and how much room there is for mistakes and fraud.
| Compared on | Static QR | Dynamic QR |
|---|---|---|
| Created | Once, then printed or displayed permanently | Fresh for each sale or order |
| Amount | The customer types it | Built into the code |
| Order reference | None: payments arrive as unlabelled credits | Carried with the payment |
| Matching to a bill | By amount and time, often by hand | Automatic, by the reference |
| Typing mistakes | Wrong amounts happen | The amount can't be mistyped |
| Best for | Low-value counter sales, small shops, donations | Billing counters, delivery, desktop checkout, invoices |
| Watch out for | A sticker pasted over it with someone else's QR | The screen or device that shows it must be reliable |
Which QR types, expiry options and display devices are available in your setup is confirmed during onboarding.
Chapter 04
The customer's journey
For the customer, a QR payment takes a few taps. What matters for the merchant is what the customer checks along the way, because that is where most mistakes and most fraud are caught.
| Step | What happens | What the customer should check |
|---|---|---|
| Scan | Opens any UPI app and scans the QR | That it's the shop's own QR, not a sticker on top of it |
| Review | The app shows the payee's name and, for a dynamic QR, the amount | That the name matches the shop and the amount matches the bill |
| Approve | Enters their UPI PIN | That they are paying, not being asked to 'receive' money |
| Result | The app shows success, failure or pending, with a reference | If pending, not to pay again until it resolves |
Chapter 05
The merchant's journey
On the merchant's side, the work happens before and after the customer's few taps: creating the right QR, knowing when a payment has really arrived, and closing the sale in your records.
A dynamic QR can be created from your billing system or a dashboard for each bill. Confirmation reaches you through whichever channels your setup includes: an audible sound box at the counter, a dashboard or app notification, or a status update sent to your own system.
| Confirmation channel | Who sees it | Good for |
|---|---|---|
| Sound box announcement | Counter staff, without looking at a screen | Busy counters and small shops |
| Dashboard or app notification | Staff or the owner | Checking a specific payment, reviewing the day |
| Status update to your system | Your billing or order system, automatically | Marking bills paid without anyone touching them |
Chapter 06
QR, intent and collect
A QR is one of three ways to start a UPI payment. Online, the right choice depends on the customer's device: on a phone, the payment page can open the customer's UPI app directly (intent); on a desktop, there's no app to open, so the page shows a QR to scan with the phone. If you build your own checkout, the collection API covers both.
A collect request, where the customer types their UPI ID and approves a request that appears in their app, is the third option. NPCI has been narrowing where collect requests can be used, so check the current rules with your provider before relying on it.
| Flow | How the customer pays | Works best for | Watch out for |
|---|---|---|---|
| QR | Scans the code with any UPI app | Counters, desktop checkout, invoices, delivery | A static QR can't carry the amount or the order |
| Intent | Taps 'Pay by UPI'; their app opens with the amount filled in | Mobile websites and apps | Desktop browsers have no UPI app to open |
| Collect request | Enters their UPI ID, then approves the request in their app | A fallback where neither of the others works | More drop-off, and usage rules set by NPCI |
Chapter 07
Payment status and confirmation
A UPI payment ends in one of three states: success, failure or pending. The first two are final. Pending means the bank hasn't confirmed the outcome yet, and it can still go either way.
The only confirmation that counts is the one on yourside. A customer's success screen can be old, edited, from a different shop, or a payment that is still pending on the bank's side.
- created
The QR or payment request exists; nothing has been paid.
- pending
The customer approved it; the banks haven't confirmed the outcome yet.
- success
The money reached the merchant's side. Hand over the goods.
- failed ← from pending
It didn't complete. If the customer was debited, the money is reversed automatically.
- expired ← from created
A dynamic QR that was never paid within its validity, where expiry is set.
A customer's screen isn't proof of payment
Chapter 08
Why UPI payments fail
Most UPI failures are on the customer's side and resolve with a second attempt. A few need the merchant to act.
| What happened | Usual cause | On whose side | Retry on another route? | What to tell the customer |
|---|---|---|---|---|
| Wrong UPI PIN | The customer mistyped their PIN | Customer | Yes | Try again carefully |
| Insufficient balance | Not enough money in the linked account | Customer | Yes | Pay from another account or method |
| Above a limit | Above the limit set by NPCI or the customer's bank for that payment | Customer's bank | Other method | Split isn't always allowed; offer another method |
| Bank or app unavailable | The customer's bank or UPI app is down or slow | The bank | Later | Wait, or try another UPI app or account |
| Timed out: pending | No response in time from the banks | The banks | No: wait | Don't pay again; it resolves or reverses |
| Paid to the wrong QR | A tampered or wrong QR was scanned | You | Not a retry | Replace the QR; the customer raises it with their bank |
When a provider is slow, new UPI payments can be routed to a healthy one: automatic failover.
Chapter 09
Refunds and reversals
Two different things can send UPI money back to a customer. A refundis your decision after a successful payment: it goes back to the bank account linked to the customer's UPI ID, through the provider that processed the payment. See refunds.
An auto-reversalhappens on its own when a payment debited the customer but wasn't confirmed to the merchant. Under RBI's turnaround-time framework it has to be completed within T+5 days, with ₹100 a day in compensation to the customer if the bank is late. You don't issue it, and refunding the same payment as well would pay the customer twice.
Chapter 10
Reconciling QR payments
Reconciling UPI means proving that every bill marked paid has a payment behind it, and every payment reached your bank in a settlement. Dynamic QRs make this straightforward, because each payment carries your bill or order reference. Static QRs don't, so payments are matched by amount and time, which breaks down on a busy day when two customers pay the same amount.
Tagging each QR by store and counter lets one report show counter, delivery and online UPI collections side by side, each matched against settlement.
| Match | Dynamic QR | Static QR |
|---|---|---|
| Payment ↔ bill or order | By the reference in the QR | By amount and time, often by hand |
| Payment ↔ store and counter | By the tag on the QR | By which printed QR was used |
| Payment ↔ settlement | By the payment reference | By the payment reference |
How matching works across providers: reconciliation.
Chapter 11
Fees
Until 14 October 2026, government rules set zero MDR (the merchant discount rate, the percentage fee on each payment) on UPI payments to merchants. From 15 October 2026, NPCI keeps payments up to ₹2,000 at zero and sets 0.4% on merchant payments above ₹2,000, capped at ₹300; our MDR explainer has the full table. Even at zero MDR, not every UPI setup is free: providers can charge for other services, such as sound box devices, software or reporting, and GST applies to those charges. Peneu pricing is quoted per business, so ask what, if anything, applies to your setup.
Chapter 12
Fraud and security at the counter
UPI itself is secure: the customer approves every payment in their own app with a PIN. Counter fraud works by fooling people, not by breaking UPI. A few habits stop almost all of it.
| Fraud | How it works | How to stop it |
|---|---|---|
| Fake or old screenshot | The customer shows a 'success' screen that isn't a real payment to you | Hand over goods only on your own confirmation |
| QR sticker over your QR | Someone pastes their own QR on top of yours, so payments go to them | Check printed QRs daily; use a dynamic QR on a screen where you can |
| 'Enter your PIN to receive money' | A caller or buyer sends a request and says the PIN is needed to receive | A PIN is never needed to receive money; decline the request |
| Wrong-amount payments on a static QR | The customer types a smaller amount, by mistake or on purpose | Check the amount on your confirmation, or use a dynamic QR |
Chapter 13
Implementation considerations
Whether QRs are created from a dashboard or from your billing system, a few decisions shape how well UPI works for you:
- Create one dynamic QR per bill or order, carrying your own reference, rather than reusing one QR for everything.
- Decide how long an unpaid dynamic QR should stay valid, where your setup allows expiry, and what happens to the bill if it lapses.
- Mark bills paid from the payment's confirmed status, not from the customer's screen or a manual tick.
- Handle pending payments explicitly: keep the bill open, and don't generate a second QR for the same bill while the first is pending.
- Tag QRs by store, counter or agent from day one; it is hard to add later.
For developers
Illustrative pseudo-code: the flow, not Peneu's API. Field and event names are confirmed in the API reference.
qr = create_dynamic_qr(amount = 640_00, reference = "BILL-1182", tags = { store: "S12", counter: "C3" })
show_on_counter_screen(qr.image)
on status_update(notice):
status = get_payment(notice.payment_id).status # confirm before acting
if status == success: mark_paid("BILL-1182")
if status == failed: offer_another_attempt()
if status == pending: keep_bill_open() # no second QR for this billChapter 14
UPI QR by business type
The same QR works everywhere; what changes is the kind of QR and how payments are confirmed.
A neighbourhood shop
A dynamic QR on a small screen, with an audible confirmation at the counter
A restaurant or quick-service counter
Dynamic QR on the bill or table, confirmed to the counter during rush hours
Delivery or field collection
A dynamic QR for the exact order at the doorstep instead of cash
School and college fees
A dynamic QR per fee demand, so each payment matches a student and term
An online store with desktop visitors
Invoices sent to customers
A payment link or a QR on the invoice, carrying the invoice number
FAQ
UPI QR questions
What is a UPI QR code?
A QR code that holds a UPI payment request: at least the merchant's UPI ID and name, and for a dynamic QR also the amount and an order reference. Any UPI app can scan it.
What is the difference between a static and a dynamic QR?
A static QR is printed once and has no amount, so the customer types it. A dynamic QR is generated for each sale with the amount and an order reference built in, so it matches the payment to the order automatically.
Which should my business use?
A static QR is simple for low-value counter sales. A dynamic QR is better when you need the right amount every time and automatic matching to a bill or order: billing counters, delivery, and online checkout on desktop.
Is a customer's payment screenshot proof of payment?
No. Screenshots can be old, edited or of a different payee. Only a confirmation on your side (the sound box, your dashboard or your system's status update) proves the money reached you.
What does 'pending' mean on a UPI payment?
The bank hasn't confirmed the outcome yet. The customer shouldn't pay again; the merchant should wait for the final status. If the customer was debited but the payment didn't complete, the money is reversed automatically.
How long does a failed UPI payment take to come back to the customer?
Under RBI's turnaround-time framework, if a UPI payment to a merchant debited the customer but wasn't confirmed, it must be reversed within T+5 days, with compensation if the bank is late.
How much can a customer pay by UPI?
UPI limits are set by NPCI and the banks involved, and they vary by category of payment. The customer's own bank may set a lower limit.
Can I refund a UPI QR payment?
Yes. A refund goes back to the bank account linked to the customer's UPI ID, through the provider that processed the payment.
Do UPI payments cost the merchant anything?
Until 14 October 2026, UPI payments to merchants carry zero MDR. From 15 October 2026, NPCI keeps payments up to ₹2,000 at zero and sets 0.4% on merchant payments above ₹2,000, capped at ₹300 (a flat ₹5 for railways, telecom, insurance, fuel and utility bills). Providers may still charge for other services, such as a sound box or software; those are agreed per business.
Does a customer need to enter a PIN to receive money?
No. A UPI PIN is only needed to pay or to approve money leaving your account. Anyone who asks a customer to enter a PIN to 'receive' money is attempting fraud.
Can one dashboard show counter, delivery and online UPI payments together?
Collections can be tagged by channel, store and counter, so counter, delivery and online UPI payments sit in one report and are matched against settlement.
When does UPI money reach my bank account?
The customer sees success within seconds, but the money reaches your bank account on your settlement cycle, commonly one or two banking days depending on the provider and agreement.
How it works underneath
- Automatic FailoverRoute around degraded providersView details
- Intelligent RoutingBest provider for every transactionView details
- Reconciliation & ReportingMatch payments & settlements across providersView details
- Unified WebhooksOne normalised event streamView details
Related products
Sources
- RBI — Harmonisation of turnaround time and customer compensation for failed transactions (RBI/2019-20/67, 20 Sep 2019)UPI payment to a merchant, debited but not confirmed: auto-reversal within T+5, ₹100 per day compensation if later.
- PIB — zero MDR on RuPay debit cards and BHIM-UPI
- NPCI — Merchant Discount Rate (MDR) on Select UPI (P2M) Transactions: FAQs (15 Sep 2026)From 15 Oct 2026: UPI merchant payments up to ₹2,000 stay at zero; above ₹2,000, 0.4% capped at ₹300, with a flat ₹5 for railways, telecom, insurance, fuel and utility bills.
Last reviewed . Examples, rates and traces marked illustrative are not Peneu figures.
Set up UPI across your channels
Tell us where your customers pay (online, at counters, at the doorstep) and we'll set out what each channel needs.
