QR code payments in South Africa
How do QR code payments work in South Africa?
QR code payments in South Africa run through several competing schemes rather than one national standard. Scan to Pay, SnapScan and Zapper each issue their own merchant codes and each is read by its own apps, so a merchant typically displays more than one. The Reserve Bank is developing an interoperability standard, QR+, to collapse that into a single code.
Why the counter carries more than one code
The fragmentation is not an accident, it is what happens when a useful payment method arrives before a shared standard does. Each scheme built its own acceptance network, signed up its own merchants and shipped its own app, and each did that well enough to survive. The result is a counter with two or three small squares on it and a customer who has to find the right one.
For the merchant the cost is not the sticker, it is the moment at the till when the customer's app does not recognise the code in front of it. Either they download another app while a queue forms, or the sale becomes a cash sale, or it does not happen. That single friction is the argument for interoperability, and it is why the central bank rather than any one scheme ended up driving it.
What is the QR+ standard?
QR+ is a South African Reserve Bank standard intended to make scan-to-pay interoperable, so any compliant app can pay any compliant code. It is being developed under the Payments Ecosystem Modernisation programme, and it introduces a central Paylink Registry Service, operated under a planned National Payment Utility, that lets apps discover which provider a code belongs to.
The registry is the interesting part of the design. Rather than forcing every scheme onto one set of rails, it gives the ecosystem a lookup: an app scans a code, asks the registry who issued it, and routes accordingly. That is a lighter change than a single monolithic scheme would be, and it is the kind of thing that can be added to an existing market without switching it off first.
There is no published implementation date. The standard has been developed with industry and is still being refined with feedback, which means a real deadline may well appear and has not yet. Treat any date you are quoted for it as a sales tool rather than a fact, and see the Reserve Bank's own resbank.co.za for the current position rather than a summary.
Where PayShap fits, and why it is not the same question
PayShap is the real-time clearing capability, the part that actually moves money between bank accounts in seconds, and it is usually addressed by a proxy such as a mobile number rather than by a scan. QR+ is about presentation: what is in the square, and which apps are able to act on it. Conflating them is common and it leads people to expect a QR code to do something the rail underneath decides.
The practical version for a merchant: the rail question is what your provider supports, the scan question is what your customers' phones will read. Today those are two separate conversations. The point of QR+ is to make the second one stop being a conversation at all.
The code that is not a payment code
A QR code you generate yourself cannot take a payment in South Africa, and it is the right tool for everything around one: the menu, the specials board, the wine list, the review link, the booking form, the WhatsApp line. Those point at a web address you own, carry no scheme rules, and can be re-pointed after printing.
The thing to get right is labelling, and it matters more here than in a single-scheme market because the counter is already crowded. Three payment codes plus a menu code is four identical black squares, and a customer will scan whichever is nearest. Label in words. Give the payment codes their own block and the marketing code its own, with real space between them, and put the payment block where a hand naturally reaches.
Size decides the rest. A code read at arm's length across a counter has a different minimum than one on a window read from the pavement, and our size calculator works from the distance rather than from a guess. When one does fail, the scan-failure guide lists the causes in the order they actually happen.
Questions
The things people ask before they commit something to paper.
Why does one shop have three different QR codes?
Because scan-to-pay in South Africa grew up as separate schemes rather than one. Scan to Pay, SnapScan and Zapper each have their own code and their own app, so a merchant who wants every customer served has historically displayed all of them. That is the fragmentation the Reserve Bank QR+ standard is intended to end.
When does QR+ launch?
No implementation date has been published. The standard has been developed through industry collaboration under the Reserve Bank Payments Ecosystem Modernisation programme and is still being refined with feedback. Anyone quoting you a launch date for it is guessing, and you should plan for a printed code to outlive the answer.
Is PayShap the same thing as a QR code?
No. PayShap is the real-time payment rail, the thing that moves money between accounts in seconds, and it is usually reached by a proxy such as a phone number. QR+ is about the scan layer that sits on top: how a code is presented and which app can read it. They are complementary rather than alternatives.
Can I make my own scan-to-pay code?
Not one that takes money. A payment code has to carry merchant details in a format the paying app recognises and a scheme stands behind, so it comes from your acquirer or provider. What you can make yourself is everything around it: the menu, the catalogue, the review link, the booking form.
If QR+ is coming, should I wait before printing anything?
No, but print the kind of code that survives the change. A payment code is your provider to replace. A marketing code is yours, and if it points at a link you control rather than a fixed destination, you can re-point it the day the counter card is reprinted without reprinting anything else.