A payment qr code generator helps you accept payments with a scan. The customer opens a payment app, scans the QR, and completes the payment without typing long account details. This is now common in many regions and is growing for in-person payments, invoices, and small merchant setups.
This guide explains how payment QR codes work, the difference between static and dynamic payment QRs, and how to create a payment QR code for business use. We include a UPI QR code example because UPI is a widely used QR payment format, but the same principles apply to other "pay by QR" systems: link stability, clear labeling, and tamper resistance.
You can generate a payment QR by encoding a payment URI (like a UPI deep link) or by encoding a payment link from your provider. You can create that QR image using our QR code generator online, then print it for your counter, receipts, or invoices.
Types of payment QR codes (static vs dynamic)
Payment QR codes generally fall into two categories. This is the most important decision because it changes how you handle amounts, reconciliation, and fraud prevention.
In practice, a payment QR code is one of two things:
- A payment URI that a payment app understands (for example, a UPI deep link).
- A payment link (HTTPS URL) generated by your provider that opens a web checkout or app handoff.
Both approaches can work. URI-based QRs can open apps directly when supported. Link-based QRs are often more universal because any phone can open a URL, even if the user does not have a specific payment app installed. Many merchants use a provider link because it handles routing and receipts in one place.
When you compare static vs dynamic for payments, think in terms of "who enters the amount and reference":
- Static: the customer enters the amount (and sometimes a note) after scanning.
- Dynamic: the QR contains the amount and a reference, so the customer confirms rather than types.
Dynamic usually reduces mistakes, but it requires a generation workflow per invoice/order. Static is simpler, but it needs a process to confirm amount and match payments to orders. The best payment QR code for small merchants is often a static counter QR plus a simple confirmation routine.
Static payment QR: best for counters and signage
A static payment QR always points to the same payee. The customer scans and then enters the amount in their payment app. This is the most common setup for small merchants at a counter because it is simple: one QR printed, used many times.
Pros of static payment QRs:
- Easy to print and reuse
- Works for any amount
- Good for walk-in payments
Cons to plan for:
- Customer can enter the wrong amount
- Reconciliation can be manual if you do not capture an order reference
- Tampering risk for public printed QRs (stickers)
Static counter QR best practices:
- Make the QR large: customers scan while standing. Bigger is faster.
- Print the business name: customers should see what they are paying for.
- Add a short instruction: "Scan, enter amount, confirm payee name."
- Have a confirmation step: staff confirms payment success before completing the sale.
- Use a clean surface: avoid glare, and keep a quiet zone around the code.
If you need easier reconciliation with a static QR, use a simple process: ask the customer to add a short note (like the last 4 digits of the order number) when the payment app supports it. Do not rely on long notes. Keep it short and repeatable for staff.
If you run a small store, static is often the best starting point. You can add process controls (confirmation, receipts, references) without changing the QR itself.
Dynamic payment QR: best for invoices and exact amounts
A dynamic payment QR encodes transaction details such as amount, invoice ID, or an order reference. The customer scans and sees the correct amount prefilled. This is a better fit for invoices, delivery payments, or any workflow where you need the amount to match exactly.
Pros of dynamic payment QRs:
- Amount can be prefilled (reduces errors)
- Reference fields can improve reconciliation
- Better for receipts and invoices
Cons to plan for:
- Usually generated per transaction (not one fixed sign)
- More dependency on your payment provider or POS workflow
- Requires careful testing to ensure apps interpret fields correctly
A simple dynamic QR invoice workflow looks like this:
- Your POS or billing system generates an invoice with an amount and invoice ID.
- The system generates a QR that encodes those details (amount + reference).
- The customer scans and confirms, with less typing and fewer mistakes.
- Your system matches the payment to the invoice reference automatically (or with less manual work).
Dynamic QRs are especially useful when customers pay remotely (invoice email, delivery payment, or a payment request). They also help when staff is busy and cannot double-check amounts manually. If you do not have a dynamic generation system, you can still use a payment link that includes the invoice amount and encode that link as a QR.
Many businesses use both: a static merchant QR at the counter and dynamic QRs on invoices or order screens.
How to create a payment QR (UPI example)
UPI (Unified Payments Interface) supports QR payments through a URI format. In practice, a UPI QR is often a QR that encodes a link like upi://pay with parameters. When a customer scans, a compatible payment app can open the payment screen with the merchant details prefilled.
Even if you are not using UPI, this section is useful because it shows the pattern: encode a payment URI or provider link, then test it across apps and devices.
UPI URI basics (what you are encoding)
A common UPI URI pattern looks like this:
upi://pay?pa=merchant@bank&pn=Merchant%20Name&cu=INRTypical fields you may see (varies by provider and use case):
- pa: payee address (UPI ID / VPA)
- pn: payee name
- cu: currency (often INR for UPI)
- am: amount (for dynamic QRs)
- tn: transaction note (can help identify the payment)
- tr: transaction reference / invoice ID (useful for reconciliation)
For dynamic UPI QRs, you may see an amount parameter:
upi://pay?pa=merchant@bank&pn=Merchant%20Name&am=499&cu=INR&tr=INV-1042Two practical notes:
- URL encoding: names and notes often require encoding (spaces become
%20). If you paste raw spaces into a URI, some scanners may fail or rewrite the string. - Keep references short: long notes make the QR denser. Dense QRs can be harder to scan on small prints.
If you are a merchant, your provider may already give you an official QR or a link format. That is usually the safest path because the provider can ensure the parameters are correct and compatible with their ecosystem. Use custom encoding only when you understand what each field means and you have tested across the apps your customers use.
Important: do not guess your merchant details. Use the exact values provided by your payment provider or your merchant onboarding flow. If you encode the wrong value, payments may fail or go to the wrong destination.
Also keep the QR readable. If you add too many fields or very long notes, the QR can become dense and harder to scan on small prints. If you need references, keep them short (invoice numbers rather than long text).
Step-by-step: create a UPI QR with our tool
You can generate a UPI QR by encoding the UPI URI string. Then you download the QR image and print it.
- Decide whether you want static (no amount) or dynamic (includes
am=and a reference). - Build the UPI URI using your merchant details from your provider.
- Open our QR generator.
- Choose "Text" (or "URL/Website" if you are encoding a payment link). Paste the full UPI URI.
- Generate and download SVG for printing (or a large PNG for screens).
- Scan-test with multiple apps and phones before you publish the QR at a counter.
Testing matters more for payments than for marketing QRs. Test at least:
- One Android phone and one iPhone (if your audience uses both)
- More than one scanner/payment app when possible
- The printed sign (not just the screen preview)
For printing, download SVG when you can. A payment QR on a counter sign should be sharp and easy to scan. If you use a PNG, generate it at a large size and do not scale it up later. Keep a clean quiet zone and use dark-on-light colors for speed.
If your target payment apps do not open the URI directly, use your provider's payment link format instead (a normal HTTPS URL) and encode that link. Many ecosystems support both deep links and web links.
Compliance and merchant tips
Payment QRs touch money, so you need a slightly higher standard than a normal marketing QR. The goal is to reduce payment errors, prevent tampering, and make reconciliation easy.
Merchant messaging that prevents mistakes
A payment QR should never be "mystery meat." Put clear text around it so customers know what is happening. At a minimum, include your business name and a short instruction like "Scan to pay" or "Pay by QR." If customers are expected to enter an amount (static QR), say so. If the amount is prefilled (dynamic QR), say "Confirm amount and pay."
This is also a dispute-prevention habit. When customers see a clear merchant name and a consistent sign, they are less likely to question the transaction later. For higher-value payments, consider a second confirmation step: staff asks the customer to show the success screen and verifies the payee name displayed in the app.
If you operate in multiple regions, follow your provider's guidance for receipts and disclosures. This blog is not legal advice, but the general best practice is: make the payment flow obvious, keep records (transaction IDs, invoices), and have a simple support path if something goes wrong.
Protect against QR tampering and scams
The most common payment QR attack is physical tampering: someone places a sticker QR over your real QR and redirects payments to a different account. This can happen in busy public areas.
Reduce risk with simple controls:
- Use branded signage: include your name and logo near the QR so sticker replacements are obvious.
- Use tamper-evident labels: materials that tear if removed.
- Scan daily (or weekly): a staff checklist can catch issues early.
- Confirm payee name: train staff to verify the payee name shown in the payment app for larger payments.
Placement matters too. A payment QR should be visible to the customer, but not placed where anyone can easily swap it without staff noticing. Many merchants place the QR behind the counter (facing the customer) or on a stand that staff can bring forward during checkout. That reduces the "random sticker" risk compared to leaving a QR unattended near an entrance.
You can also add a simple operational habit: a daily opening checklist includes scanning the payment QR once. It takes 10 seconds and it catches problems early. If you operate multiple registers, assign ownership ("Register 1 sign is checked by the morning cashier"). These small process details are what make payment QRs feel trustworthy.
Also label the QR clearly: "Pay by QR" and your business name. Clarity improves trust and reduces hesitation.
Settlement, refunds, and customer support basics
Payment QR codes are not only about accepting money. They are also about handling exceptions. Plan your basics:
- Confirmation: decide what proof you accept (receipt screen, transaction ID).
- Refund process: document how you issue refunds and how you track them.
- Support contact: include a phone number or help path on receipts for disputes.
For small merchants, a simple approach is: confirm payment on the customer's screen, then confirm it in your merchant dashboard or bank app. Do not rely only on "I sent it" messages.
If you generate dynamic payment QRs for invoices, include a short invoice reference. That makes it easier to match payments to orders when you review statements.
Examples and receipts integration
The best payment QR setup depends on where you take payments: counter, delivery, events, invoices, or online. Use examples below to map QR placement to a real workflow.
Receipts, invoices, and POS workflows
Dynamic QRs shine on receipts and invoices. If your POS or billing system can generate a QR per transaction, you can prefill amounts and references. This reduces manual entry and reduces wrong-amount issues.
If you do not have dynamic generation, you can still place a static merchant QR on receipts as a fallback. Label it clearly ("Scan to pay") and instruct customers to enter the amount shown on the receipt.
If you print QR codes on thermal receipts, test the print quality. Thermal printers can produce blurry edges if the paper or settings are poor. Increase the QR size and use high contrast.
For invoices sent by email, include both the QR and a clickable payment link. This supports customers who prefer not to scan on the same device where they read the email.
Additional payment QR placements that work well:
- Pop-up events and markets: a large counter sign QR plus a small backup printed payment link.
- Delivery payments: a dynamic QR on the delivery screen or invoice with the exact amount.
- Service businesses: a static QR in the reception area plus a dynamic QR on invoices.
- Donations and tips: a QR that opens a payment link with a suggested amount (keep it optional).
The theme is the same: match the QR type to the workflow. If amounts vary, dynamic reduces errors. If the goal is fast counter payments, static is easier.
Small merchant setup checklist
If you are a small merchant and want a payment QR code for small merchants setup, use this checklist:
- Use a business/merchant account (not a personal account) when possible.
- Print one clear counter sign with your business name and the QR.
- Keep the QR large enough to scan quickly from a standing position.
- Train staff to verify payee name for higher-value payments.
- Keep a fallback option (card, cash, or payment link) for customers who cannot scan.
- Scan-test the printed QR weekly and replace worn signage.
If you have multiple locations or registers, consider unique QRs per location for easier reconciliation. Even a simple "Register 1" note in your payment flow can help match payments to shifts.
You can also separate QRs by channel. For example, one QR for in-store counter payments and another QR for delivery payments or invoices. This makes it easier to track where payments come from and reduces confusion when you review statements. Keep the signage simple and label each QR clearly so customers do not scan the wrong one.
FAQs
Can I create a payment QR code for business for free?
Yes, if you already have a payment URI or payment link from your provider. You can encode it into a QR and download the image. The "free" part is creating the QR image. Payment processing still depends on your payment provider and merchant setup.
Is a static or dynamic QR better for payments?
Static is best for a counter sign because it works for any amount. Dynamic is better for invoices and orders where the amount should be exact and references help reconciliation. Many merchants use both.
What is a UPI QR code?
A UPI QR is a QR code that encodes a UPI payment URI. A compatible payment app can open a payment screen with the merchant details filled in. Use the exact payee details provided by your UPI onboarding or provider.
Are payment QRs safe?
They can be, but you must protect against tampering. Use branded signage, tamper-evident labels, and periodic scan checks. Train staff to confirm the payee name shown in the payment app, especially for high-value payments.
How big should a payment QR be?
Big enough to scan quickly while standing. For counter signs, many merchants use a larger QR than business cards. Print a proof and test at the real distance. Use high contrast and keep a quiet zone.
Can I set a fixed amount in a payment QR?
Often yes, using a dynamic payment QR format or a provider payment link that includes the amount. For UPI, this is commonly done using an am= parameter along with a reference. For other providers, the amount is usually encoded in the checkout link. Always test, because not every app handles every field the same way.
What reference should I include for reconciliation?
Use a short invoice or order ID that you can match to your records. Avoid long notes. If your provider supports a reference field, use it consistently (for example, INV-1042). Consistency matters more than the exact format.
Should I use a QR code or a payment link?
Use a QR for in-person scanning at a counter, on receipts, or on printed invoices. Use a link when the customer is already on a phone and can tap. Many merchants include both: a QR and a clickable link. This improves completion rates and reduces "I cannot scan" issues when someone is using a single device.
Do I need separate QRs for multiple locations or registers?
It helps. Separate merchant QRs (or at least separate references) can make reconciliation easier and reduce confusion when you review statements. If you are a growing business, this is a simple step that saves time later.
How should I handle refunds for QR payments?
Follow your payment provider's process and keep it documented for staff. In general, you want a consistent method to verify the original transaction (transaction ID or invoice reference), issue the refund through the same channel, and record the refund in your system. Clear records reduce disputes and make end-of-day reconciliation easier.
Want to generate one now? Use our free QR code generator to encode your payment link or UPI URI, then download an SVG for print and scan-test before you deploy it.