Payment QR Code Generator for Scan-to-Pay Checkouts
A payment QR code turns a printed card, invoice or counter sign into a checkout. The customer points a camera at it, lands on your payment page already filled in, and pays without typing an account number or hunting for your handle. QRPixel builds that code in your browser from any payment link you already have — PayPal.Me, a Stripe payment link, a UPI string, a Wise request, a Venmo profile or your own hosted checkout — and exports it print-ready. There is no account, no fee taken from your transactions and no server storing your payment details.
What you get
Works with PayPal, Stripe, Wise, Venmo, Cash App, UPI and custom checkout links
Encodes UPI and other payment URI strings, not just web addresses
Brand colours and a centre logo so the code looks trustworthy on an invoice
Vector SVG export that stays sharp on invoices, receipts and counter signs
Generated locally in your browser — payment links are never uploaded
Completely free with no per-scan fee, no expiry and no watermark
How a payment QR code actually works
A payment QR code does not move money by itself. What it stores is a pointer — usually a URL to a hosted checkout page, or a payment URI such as a UPI string that a banking app knows how to open. The scan takes the customer to a page or app screen where the real payment happens, secured by the payment provider rather than by the code.
That distinction matters when you are choosing what to encode. A link to a Stripe payment link or a PayPal.Me address with an amount appended (for example a URL ending in /25) opens a checkout with the amount already set, so the customer only confirms. A bare profile link opens an empty form and asks them to type the amount themselves, which is where most abandoned scan-to-pay attempts happen.
Because the code is static, whatever you encode is fixed once printed. The reliable pattern is to encode a URL you control the destination of — your own checkout page or a provider link you can edit — so you can change the price, currency or provider later without reprinting anything.
What to encode for each payment provider
PayPal: use a PayPal.Me link, optionally with the amount and currency in the path so the checkout opens pre-filled. Stripe: create a Payment Link in the Stripe dashboard and encode that URL — it supports fixed or customer-chosen amounts and works on any phone browser without an app.
UPI (India): encode the full UPI URI rather than a web address. It begins with upi://pay? and carries the payee address, payee name and, optionally, the amount and a transaction note. Banking apps recognise the scheme directly, which is why a UPI code opens the payment sheet instead of a browser.
Venmo and Cash App: both expose a shareable profile URL that opens the app on a phone. These generally cannot carry a fixed amount reliably across platforms, so pair the code with a printed amount next to it. Wise, Revolut and most invoicing tools (Xero, QuickBooks, Zoho) generate a per-invoice payment URL — that is the string to encode, one code per invoice.
Creating your payment QR code step by step
1. Generate the payment link first, in your provider's dashboard, and open it on a phone to confirm it loads the checkout you expect. 2. Paste that exact string into QRPixel — including https:// for web links or the upi:// prefix for UPI. 3. Check the live preview renders and is not unusually dense; if it is, shorten the link. 4. Style the code with your brand colours, keeping strong contrast between the pattern and the background.
5. Add your logo or your payment provider's mark to the centre if you want the code to read as legitimate at a glance — this measurably reduces hesitation on printed material. 6. Export SVG for anything going to a printer and PNG for invoices sent as email attachments. 7. Before it goes out, scan the real printed or on-screen output with two different phones and complete a small test payment to yourself.
Where businesses put payment QR codes
Market stalls and pop-ups use a laminated A5 counter card with the code and the trading name, so customers can pay without the stall holder carrying a card terminal. Tradespeople print the code directly on the paper invoice, which shortens the gap between handing over the job and being paid.
Freelancers add the code to the footer of PDF invoices, alongside bank details, for clients who prefer card payment. Restaurants and cafes place it on the bill wallet for tips or the full check. Charities and buskers print a large code on a sign, where scan distance rather than density is the main design constraint.
Subscription and course businesses use one code per plan, each pointing at a different pre-priced Stripe link, so the printed material itself acts as the plan selector.
Security: the part most guides skip
Payment QR codes are a known target for tampering. The attack is physically simple: someone sticks their own printed code over yours, and payments quietly go elsewhere. Codes on outdoor signage, parking meters and unattended counters are the usual victims.
Defend against it with the boring measures. Laminate or seal the code so a sticker cannot sit flat over it, place it inside a frame or under acrylic, check unattended codes daily as part of opening routine, and scan your own code regularly — if the destination is not your own checkout, replace the sign immediately.
Print the destination domain in readable text next to the code as well. A customer who sees the URL before scanning is far more likely to notice that the page they land on does not match. Never ask customers to enter card details on a page reached through a code that does not show a padlock and your own domain.
Common mistakes with payment QR codes
Encoding a bare provider profile with no amount, then wondering why customers pay the wrong figure. Encoding a link that only works inside a specific app, so desktop and unsupported phones hit a dead end. Printing at 1.5 cm on a receipt, where the density of a long checkout URL pushes the modules below what a camera can resolve.
Using low-contrast brand colours on a payment code is a particularly expensive mistake — a failed scan at the moment of payment is a lost sale, not just an inconvenience. Keep the pattern dark on a light background, or fully inverted with equally strong contrast, and never place the code over a photograph or gradient.
Finally, do not reuse an invoice-specific code across multiple invoices. If the URL carries an invoice ID or amount, generate a fresh code per invoice; batch tools make this practical for dozens at a time.
Pro tips for higher scan-to-pay conversion
Add a short instruction line under the code — 'Scan to pay by card' — rather than leaving it unlabeled. Ambiguity is the single biggest reason a payment code goes unscanned. Include the amount in large type next to the code even when the checkout is pre-filled; customers verify against it.
For anything sent digitally, put the payment link as tappable text next to the code as well. A customer reading the invoice on the same phone cannot scan their own screen, and a tappable fallback captures that payment instead of losing it.
Create Your QR Code
Frequently Asked Questions
Is a payment QR code free to create with QRPixel?
Yes. Generating, styling and downloading the code is free with no signup and no watermark. Your payment provider may still charge its own processing fee on the transaction itself, but QRPixel takes nothing.
Can I include a fixed amount in the payment QR code?
Yes, if your provider supports it in the link. Stripe Payment Links, PayPal.Me links with an amount in the path, and UPI URIs with an am= parameter all open a checkout with the amount pre-filled. Profile-only links such as Venmo generally cannot.
Does the QR code process the payment itself?
No. The code only carries a link or payment URI. The actual transaction happens on your payment provider's secure checkout or inside the customer's banking app, so their existing security and fraud protection applies.
Can I change the payment link later without reprinting?
Only if you encoded a URL whose destination you control, such as a page on your own site that redirects to the current checkout. A code pointing directly at a provider link is fixed once printed and would need regenerating.
How large should a payment QR code be printed?
About 2 cm across is the practical minimum for an invoice or receipt scanned at arm's length, and 3-4 cm is safer on a counter card. For signage read from more than a metre away, allow roughly one centimetre of code for every ten centimetres of scan distance.
Is it safe to accept payments through a QR code?
The payment itself is as secure as your provider's checkout. The realistic risk is physical tampering — someone covering your code with theirs — so laminate or frame printed codes, check them regularly and print your domain in text beside the code.
Does a UPI QR code work with QRPixel?
Yes. Paste the complete upi://pay? URI including the payee address and name, and the generated code will open the payment sheet in supported banking apps when scanned.
Can I add my logo to a payment QR code?
Yes, and it is worth doing. A recognisable logo or provider mark in the centre reduces the hesitation people feel about scanning an anonymous payment code. QRPixel clears the pattern behind the logo and keeps error correction high so the code still scans.
Related pages and guides
- Generate your payment QR code — Build, style and download the code free in your browser.
- Bulk QR code generator — Create one code per invoice from a CSV in a single pass.
- QR code generator with logo — Add your brand mark without breaking the scan.
- QR code decoder — Verify what a printed payment code really points to.
- QR code design best practices — Contrast, sizing and print rules that protect scan rates.