QR Code (Quick Response Code)
A QR Code is a machine-readable square barcode that can store information such as URLs or payment details. In payments, QR codes are widely used for wallet payments, bank transfers, invoice payments and in-store digital checkout.

A QR code is a square pattern of light and dark cells that a camera reads in a moment. In payments it carries what a phone needs to start or finish a payment, so a scan takes the place of tapping a card or typing a long number. The code holds no money, and in most schemes no card data either. It holds a pointer: a payee, a scheme, often an amount, and the reference the payment should carry. What happens after the scan depends on the scheme sitting behind the code.
The format is not new. It was drawn up in Japan in the 1990s to track parts on a production line. Payments borrowed it because a camera costs a good deal less than a card reader and almost every shopper carries one, and that bit of maths is why QR took hold fastest where card terminals were thin on the ground. EMVCo now puts out a shared spec so a single code can serve several schemes at once, and its overview of EMV QR codes sets out the two modes the trade settled on.
Who Shows The Code
Almost everything about a QR payment follows from that question. In merchant-presented mode the shop shows a code, on a sticker, a screen or a bill, and the customer scans it with a bank or wallet app. In consumer-presented mode the customer's app draws the code and the shop scans it. EMVCo's guide to how EMV QR codes work covers both. The choice drives the cost. A code the shop shows needs almost no kit, while one the shop has to read needs a scanner on the counter.
Static And Dynamic Codes
A static code carries fixed details, usually a payee and little else, so the customer types the amount in. It costs nothing and can be printed once and taped to a window. A dynamic code is built for one sale and carries the amount and a reference, which lets matching happen on its own. Small traders live happily on static codes. Anyone with real volume moves to dynamic ones, since a static code leaves finance matching by hand.
Where QR Took Over
Take-up is uneven, and the pattern follows history more than the tech. In several Asian markets QR is the normal way to pay a small trader, tied to a virtual payment address and not to a card number. It also reaches people with a phone but no card. Elsewhere it sits behind cards and contactless payment as a second option. A business selling across borders does better treating QR as one local payment method among several. This look at accepting QRIS in Indonesia shows what one national scheme looks like up close.
Inside The Payload
The payload is short and tightly built. It names the payee and the scheme, often the amount and a reference, and it carries a check value so a damaged code fails cleanly instead of paying the wrong hands. It does not carry the primary account number, which is much of the appeal, since nothing sensitive sits on the sticker. Some codes carry a web address in place of scheme data, and those behave quite differently.
The Sticker Is A Physical Thing
A printed code can be covered up, and that is the whole of the fraud problem. Someone pastes their own code over the real one, money lands elsewhere for a day, and nobody notices until the takings do not add up. Codes that open a web page are weaker still, since the address can be changed long after printing. Checking codes on a round, and showing the payee name in the app before the customer approves it, does more good than any clever technical fix.
Matching The Money Afterwards
A dynamic code can carry a payment reference and tie the sale to the order with nobody typing anything. A static one usually cannot, so the business matches on amount and time. That works until two customers pay the same amount inside a minute. Every scheme hands back a transaction ID, and holding that against the order stops an unmatched transaction becoming a weekly chore.
Cost, Speed And Who Carries The Risk
Pricing varies a good deal by scheme and market, and it is often a flat fee, not a percentage, which favours larger baskets. Money can land in seconds on an instant network or the next working day on a slower one, so the promise to the customer has to match the network in use. Dispute rights differ too. A QR payment drawn from a bank account tends to carry less cover than a card payment, and a business should know which one it is taking before the first refund lands.
Fitting QR Beside Everything Else
QR tends to arrive alongside other methods. It sits next to a mobile wallet button, a card field and whatever local options a market expects. The same code can serve a counter, a table or a kiosk payment unit, and where staff take payment away from a till a virtual terminal covers similar ground. Treating QR as one line in the alternative payment methods list keeps reporting sane.
Rolling It Out Without Surprises
Pick the mode before the supplier, since the two need different kit. Use dynamic codes anywhere volume earns them. Put the payee name where the customer will read it before confirming. Walk the floor and check printed codes often. Agree who carries a disputed payment before launch. And keep QR in the same reports as every other method, so nobody opens a second system to close the month. Alternative payment methods covers what adding a local scheme involves. This piece on going global with local methods covers how to choose between them.
Frequently Asked Questions
Not in the common case. Where the shop displays the code, all that is needed is a printed sticker or a screen, and the customer's own phone does the work. A scanner is only needed the other way round, where the customer shows a code on their phone and the shop has to read it. That is the main reason QR spread quickly among small traders in markets where card terminals were expensive.
A static code carries fixed details, usually just the payee, so the customer types the amount in and the business matches the payment afterwards. A dynamic code is generated for one sale and carries the amount and a reference, which lets the payment tie itself back to the order. Static codes cost nothing and suit low volume. Dynamic codes cost a little to generate and save a great deal of manual matching.
It depends on the network behind the code, not on the code itself. Some national schemes settle in seconds, while others run on a cycle and pay out the next working day, and cross-border cases can take longer again. The QR code is only the way the instruction is passed, so the timing question is really about the scheme. Confirm it with the provider before promising anything to customers.
The cryptography is not usually the weak point. The common attack is physical: someone covers a genuine printed code with their own, and payments go elsewhere until staff notice. Codes that open a web page carry more risk than codes carrying scheme data, because the destination can be changed after printing. Checking displayed codes on a regular round, and showing the payee name in the app before the customer approves it, addresses most of it.
That is what the shared specification is for. EMVCo publishes a common format so a single merchant-displayed code can carry details for more than one scheme, which avoids a counter covered in competing stickers. Support varies by market and by provider, so a business should confirm which schemes its own code actually covers rather than assuming the format settles it.

Still Have Questions?
Let’s Find the Right Solution for You
Stay Connected with Us!
Follow us on social media to stay up to date with the latest news, updates, and exclusive insights!


