A loyalty card QR code carries a programme name and a member number, so a phone at the till identifies a customer without a plastic card. It is made in the MOJA app rather than here.
Create unlimited QR codes — right from your phone, anytime, anywhere. Free to download.
Experience this feature seamlessly in our mobile app. Download it today to enjoy the full mobile experience
Download Free AppThe payload is LOYALTY:PROGRAM:…;MEMBER:… — two pieces of text, no link, nothing fetched. It works with no signal at the till, which is the main practical reason to use a code rather than an app login.
The code carries an identity, never a balance. How many stamps someone has, what they are owed and whether they are still a member are all questions for your own system. The code answers only "which member is this".
That division is the right one. A balance stored in a printed code would be a balance the customer could edit by making their own code.
Replaces the paper stamp card that lives in a wallet until it is washed. The member number is the same one your till already knows.
The customer shows a code instead of giving their name and date of birth at the desk, which is faster and quieter.
Where there is no till system at all and the "programme" is a notebook — the code still saves the spelling conversation.
No balance, no expiry, no proof. The record has two fields and neither is a number of points or a date. Everything that changes over time has to live in your system.
Anyone can produce a card for any member number. There is no signature. If member numbers are guessable — sequential, say — someone can make a code for a number that is not theirs, and only your system will notice.
Only the MOJA app reads it back as a loyalty card. A generic scanner shows the raw LOYALTY: line. If your staff scan with whatever is on the till, check it can cope with plain text.
Semicolons and colons break the record, because the values are not escaped.