"Fonepay QR" means two different things in Nepal. One is the printed code stuck on the counter of almost every shop, where the customer types in the amount. The other is a code made fresh for each order with the amount already inside it, which is what online checkouts use. They come from the same network and are scanned by the same bank apps, but they solve different problems, and using the wrong one for online orders is where most headaches start.
The two kinds of Fonepay QR
| Static QR | Dynamic QR | |
|---|---|---|
| What it is | One printed code for every customer | A new code for each order |
| Who enters the amount | The customer, in their bank app | Nobody: it is in the QR |
| Knowing which order was paid | You match payments by hand | The payment is tied to the order |
| Confirmation | You check your phone or statement | Your system is told when it is paid |
| Best for | A counter, a stall, a delivery rider | A website, an app, an invoice |
| Where to get it | Your bank or Fonepay's merchant enrolment | Requested from Fonepay, or through a checkout provider |
Both are scanned the same way: the customer opens almost any Nepali bank or wallet app, scans, and pays from their own account.
Static QR: the counter code
A static QR is what you get when you enrol as a Fonepay merchant through your bank or Fonepay's enrolment form. You download it from Fonepay's merchant portal, print it and put it where customers pay. An ordinary domestic QR payment from a bank account is usually free for the merchant, though some payments carry charges (card-funded payments, for example, and instant settlement costs Rs 5 each); what a QR payment costs has the details. There is nothing to integrate.
It works because you and the customer are standing at the same counter. You tell them the amount, they type it in, you see the payment arrive, and the sale is done.
To make the printed code look like yours, the free QR poster maker puts your Fonepay, eSewa and Khalti codes on one poster with your shop name and each provider's logo.
Dynamic QR: one code per order
A dynamic QR carries the exact amount and a reference for one order. The customer scans it and the amount is already filled in, so there is nothing to mistype, and the payment arrives already matched to the order it belongs to.
That is what a website or app needs, because nobody is at the counter to check. Fonepay grants dynamic QR access separately from the static code: its business page asks you to request it by email with the subject "Request for Dynamic QR", or by phone on 01-5970044. Building on it directly is covered in the Fonepay API integration guide.
What goes wrong with a static QR online
Shops that put their counter QR on a website or send it on WhatsApp for online orders run into the same problems:
- Wrong amounts. The customer types Rs 1,250 instead of Rs 12,500, or rounds down, and you find out when you reconcile.
- Which order was this? Five customers pay Rs 1,000 in an afternoon. Matching each payment to an order means screenshots and phone calls.
- No confirmation for your system. Your website cannot tell an order is paid, so somebody has to check by hand before it ships.
- Paying twice. A customer unsure whether the first payment went through pays again, and you owe a refund.
None of these are a problem at a counter. All of them are for online orders.
Which one does your shop need?
- Only selling in person? The static QR is enough. Print it well and keep it visible.
- Selling online, or sending invoices? Use a dynamic QR for each order, and keep the static one for the counter.
- Both? Most shops end up with both: the printed code at the till and a per-order QR in the online checkout.
Getting a dynamic QR without building it
With PayBridgeNP you connect your own Fonepay merchant account, and every online order gets its own dynamic QR on a hosted checkout, alongside eSewa and Khalti. The QR page shows your business name and the bank and wallet apps that can scan it. When a QR runs out of time, the page tells the customer instead of quietly making a new one, and asks them not to pay again if they had already scanned it, so one order is not paid twice. Payments settle into your own Fonepay merchant account.
If you want the QR inside your own page instead, the Direct QR API returns a dynamic QR for an order and a live stream that tells your page the moment it is paid.
Next Steps
- See how Fonepay works through PayBridgeNP on the Fonepay page.
- Becoming a Fonepay merchant first? Read the Fonepay merchant registration guide.
- Wondering whether a QR alone is enough for your shop? See is a Fonepay QR enough.
- Make a printable QR poster with the free QR poster maker.