Merchants: Ship QR Crypto Payments Today Without Building Payloads
A hands on checklist for merchants to implement reliable QR crypto payments: payload choices, standards, wallet tests, verification, and a no KYC hosted...
A hands on checklist for merchants to implement reliable QR crypto payments: payload choices, standards, wallet tests, verification, and a no KYC hosted...

A QR crypto payment is a wallet-scannable payment URI or hosted-checkout link that lets a payer approve a crypto transfer in seconds. These payments come in two modes, merchant-presented and consumer-presented, and merchants should generally prefer dynamic hosted checkout QR codes for order-level accuracy, since they can settle in crypto, stablecoins, or converted fiat.
TL;DR:
- Dynamic hosted-checkout QR codes are recommended for order-specific payments to automatically encode amounts, expiry times, and order IDs, simplifying reconciliation.
- Compatibility testing of wallets with generated QR codes is crucial to prevent transaction failures caused by unsupported networks or incorrect scans.
- Using proof-of-payment callbacks and on-chain checks ensures transaction confirmation accuracy, as QR scans alone do not guarantee successful transfers.
- CryptoPayr supports over 110 cryptocurrencies, offers instant onboarding without KYC, and handles webhook confirmations to automate settlement and reconciliation.
- Starting with small transaction volumes and one settlement model helps merchants validate their QR payment setup before scaling, ensuring reliable reconciliation and minimum complexity.
The mechanics differ depending on who generates the code. In a merchant-presented flow, the business displays one QR code (often static) and the customer’s wallet fills in the amount. In a consumer-presented flow, the customer’s app generates a code containing their payment details, which the merchant’s terminal scans.
A typical transaction moves through these steps:
The payload type matters. A raw address tells the wallet nothing about amount or order context. A structured URI can carry amount, label, and message fields. A hosted checkout URL points the wallet to a page that fills in exact order details automatically, which is why it tends to fail less often at checkout.
Most failures trace back to compatibility, not fraud. A wallet that does not support a given network will either reject the scan or, worse, let the customer send funds that never arrive. Testing a handful of popular wallets against your actual QR output, in person and at online checkout, catches this before it becomes a support ticket. A coffee shop scanning a static wallet address behaves very differently from an online store generating a fresh QR per order, and each setup needs its own compatibility check.

Two standards bodies shape most of what you will encounter. EMVCo defines merchant-presented and consumer-presented QR modes so that one QR format can support multiple payment options, but EMVCo’s own point is that a compliant QR code still needs a wallet or app that can interpret it. Compliance with a spec does not guarantee that your customer’s wallet will read it correctly.
On the Bitcoin side, BIP 321 updates the older BIP21 URI scheme, adding support for payment instructions and optional proof-of-payment callbacks, while the deprecated BIP70 protocol has fallen out of favor in exchange for these simpler, more secure URI-based approaches. Lightning invoices follow their own encoded format and are not interchangeable with on-chain URIs.
A few things to keep in mind when choosing a payload:
EMVCo’s QR framework was built to let one QR code support multiple domestic and international payment options, which is the closest thing the industry has to a universal format, though actual interoperability still depends on wallet support.
Before writing any code, pick a settlement model. You can hold the crypto you receive, auto-convert to a stablecoin, or route through a processor that settles in local fiat. Holding crypto exposes you to price swings; stablecoin settlement reduces that exposure but, per BIS research on stablecoins, is operationally complex since stablecoin acceptance means specific token-and-network pairs, not a single universal option. Fiat settlement removes volatility entirely at the cost of a conversion fee.
Once you know your settlement model, work through this sequence:
Merchants running WooCommerce or Squarespace stores can lean on existing plugins rather than building payload generation from scratch, and marketplace operators juggling multiple sellers need the same reconciliation discipline applied to payouts, not just incoming payments.
Pro Tip: Run a test transaction with the smallest unit your gateway allows before going live, so you can confirm the full webhook and confirmation chain works before a real customer hits it.
A completed scan is not proof of payment. Screenshots can be faked or reused, and the only reliable confirmation is an on-chain check or a webhook from your payment processor firing after the network confirms the transaction. Per Sdk, QR codes do not remove network fees, confirmation delays, or the risk of an irreversible transfer to the wrong address, so verification stays your responsibility even after the scan succeeds.
A few checks belong in every merchant’s process:
Pro Tip: Set your confirmation threshold per chain rather than using one global rule, since a fixed number of confirmations means very different wait times depending on block speed.
Building payload generation, webhook handling, and reconciliation in-house is possible, but it is also where most merchants lose time. A gateway that already handles hosted checkout, payment links, and webhook confirmations removes that build cost.
CryptoPayr supports this workflow directly, with a few specifics worth naming:
This fits e-commerce stores, SaaS platforms, digital service providers, and marketplaces needing payout automation, all of which run into the same reconciliation problem this guide describes: matching an incoming crypto payment to the right order without manual work.
QR crypto payments earn their place when you already have customers who want to pay this way and your reconciliation process can keep up with it. They add unnecessary complexity when you are bolting them onto a checkout flow that cannot track order IDs or handle webhook events.
A reasonable pilot starts small: a handful of transactions a week, a clear target for what conversion lift would justify the engineering time, and a reconciliation process tested before launch rather than during it. Start with one network and one settlement model, prove it works, then expand.
— Dustin
Merchants who want hosted QR checkout without building payload generation or webhook handling from scratch can set up CryptoPayr in a sitting, since onboarding skips KYC and starts with instant approval.

Fees start at 2% under the Standard plan and drop as volume grows, with a flat $0.10 per-payment option also available through the CryptoPayr gateway. Check the main product page for plan details, or explore the e-commerce integration built for online stores ready to accept their first crypto payment this week.
For payload formats, read the BIP 321 specification directly rather than relying on summaries. EMVCo publishes its QR code specification launch notes for merchant- and consumer-presented modes, and the BIS working paper on stablecoins covers settlement tradeoffs in more depth than any blog post can.
Yes, most crypto wallets and payment gateways let you generate a QR code encoding an address, a payment URI, or a hosted checkout link. A gateway-generated code is generally more reliable for order-level payments since it can embed the exact amount and an order ID.
You need a wallet address or gateway account, a way to generate a QR code from it, and a method to confirm the payment arrived, either an on-chain check or a webhook from your processor. Dynamic hosted checkout QR codes work better than static addresses for anything with a specific order amount, since they reduce manual reconciliation.
Scanning a merchant’s QR code with a compatible wallet app is typically the fastest method, since the wallet fills in the payment details and you only need to confirm and approve. Always verify the network, asset, and amount shown in your wallet before approving, since a scan does not undo an irreversible transfer.
You generate a QR code, either a static address or a dynamic checkout link, and share it with the payer to scan with their wallet. For business use, a unique address or gateway-generated invoice per transaction, rather than one reused address, makes it far easier to track which payment belongs to which sale.
No, CryptoPayr offers no-KYC onboarding with instant approval, which lets merchants start accepting crypto payments without a lengthy verification process. Fees begin at 2% per month under the Standard plan, scaling down as transaction volume increases.
Open a free CryptoPayr account and take your first crypto payment the same day.
Get started for free
Implement crypto payments compliance in 90–180 days. A jurisdiction-aware playbook for businesses and compliance teams covering Travel Rule readiness,...
Launch a hosted crypto checkout fast with a merchant‑first plan: CryptoPayr supports 110+ coins, no‑KYC onboarding and fees down to 0.1%.
Developer-focused guide to no KYC swap APIs: use noncustodial unsigned transactions, surface fees and 60 second quotes, and meet AML obligations for...