For merchants
Your loyalty card, on your customer’s phone
Put a button in your registration mail that drops your card straight into ShowCards. You generate the links yourself, with code we give you, on a page in your own colours. It is free, and not one of your customer numbers ever reaches us.
- No API keys
- No monthly fee
- No data of yours on our servers
How it works
Three steps, and you are handing out cards
Most of the work is already done. What is left is copying one function into your own project.
Make your page
Sign up, pick your web address, upload your logo and set your colours, your font and your words. You see the card change while you pick.
Copy the code
The builder hands you one function with your own values already in it, in the language you actually use. Nothing to configure afterwards.
Put the link in your mail
Call it the moment a customer signs up and drop the link in the mail you already send. On a phone with ShowCards it opens the app straight away.
Your page, not ours
The link lands on a page that carries your name, your logo, your colours and your words. Not a generic ShowCards page with your card on it: a page that looks like it came from you, because it did.
- Your logo above the card, exactly as you uploaded it
- Card, background, button and text colours, all yours
- Your own two lines of text, or ours in your customer’s language
What you see is what they get
The preview beside the form is the real thing: the same proportions, the same colours, and a real barcode drawn with the same library the page uses. Put one of your actual numbers in and you find out before your customers do whether it fits the barcode type you picked.
There is a button that makes a genuine, freshly encrypted link with that number in it, built by the very code you are about to copy. Open it on your phone and you are looking at what your customer will see.
Eight languages
The code is the product
Everything that is the same for every customer sits in six constants. The only thing that changes is their own number, and that is the argument.
// ── Your settings ───────────────────────────────────────
const SHOWCARDS_PAGE = 'crumb-bakery'; // your page
const SHOWCARDS_NAME = 'Crumb Bakery'; // on the card
const SHOWCARDS_BRAND = 'crumb-bakery'; // your logo in the app
const SHOWCARDS_COLOUR = '#B8123A'; // the card colour
const SHOWCARDS_FORMAT = 'qr'; // or code128, ean13, …
const SHOWCARDS_LABEL = ''; // a caption, may be empty
// ── What you call per customer ──────────────────────────
$url = showcards_link('CB-4417 9920');
// https://share.showcardsapp.com/s/crumb-bakery/#…encrypted…
- PHP
- Node.js
- JavaScript
- Python
- Ruby
- Go
- Java
- C#
Seven of these eight run against one shared test vector on every change, so “it works on my machine” is not something either of us has to take on faith. The eighth is checked by hand, and its file says so.
Filled in before you copy it
Pick your page, your brand and your label, choose your language, and the code comes out with your values already in place. Copy it, or download the file.
You can also point the link at the plain ShowCards page instead of your own, if you would rather not have a page at all. Same card, same encryption, one less thing to set up.
Why there is no API
Your customer numbers never reach us
An endpoint you post loyalty IDs to would be the obvious way to build this, and it is exactly what we will not do. Our privacy policy promises, in twenty languages, that we do not receive your customers’ card data. An API would quietly break that promise on the first request.
So the card is encrypted on your side, with a fresh key per link, and that key travels inside the link after the hash. Browsers never send that part of a URL to any server, ours included. We do not see your customer’s number, and we could not if we wanted to.
It is the same encryption the app itself uses: AES-256-GCM. Not a variation on it, not something we wrote for merchants. The same bytes.
- Your server Builds the card and encrypts it. Nothing leaves towards us.
-
The link
/s/your-shop/#the card, encryptedEverything after the hash stays in the browser. No server ever receives it. - Your customer Opens it, and the card is in ShowCards.
Nothing to call
No request leaves your server towards us. The link is built where the data already is.
Nothing to store
We keep your page and your brand. Your customers are yours; we never learn who they are.
Nothing to break
The format already sits in apps on people’s phones. It can gain fields; it cannot change shape.
Your logo in the app, not just on the page
Add your brand and it becomes a tile in our catalogue: your logo on your colour, sitting between the supermarkets and the pharmacies in your customer’s wallet. Claim the one that is already there if we have you, or add it if we do not.
A human looks at it before it goes out, so it takes a moment. Until then the card shows your name as text in your own colour, and nothing is broken while you wait.
Changes you make to your brand show on our website right away. Inside the app they arrive with the next catalogue release, because nothing reaches anyone’s phone without us pressing the button.
Pricing
What it costs
Nothing. There is no plan to pick, no card to enter and no limit to run into.
- Free to register, free to use, free to stop
- As many pages and as many links as you hand out cards
- Commercial use is allowed and written into our terms
- No lock-in: the links you already sent keep working either way
We are a small operation, so a mail lands with the person who builds the thing. That is also the honest limit: we promise care, not a service level.
Questions people ask first
Do my customers need to install anything?
Only if they want the card. The link opens a page that works in any browser; ShowCards is what they get if they tap through. On a phone that already has the app, the link skips the page and opens the app.
What if my brand is not in your catalogue?
Add it from the portal and we look at it. In the meantime your card shows your name as text in your own colour, which is a perfectly good card.
Can I change my web address later?
No, and that is on purpose. It is in the mail of every customer who has signed up, and those we cannot get back. Everything else you can change whenever you like.
Which barcode types work?
code128, qr, ean13, ean8, upce, code39, pdf417 and aztec. Put one of your real numbers in the preview and you will see straight away whether it fits the one you picked.
Is the link format going to change?
It already sits inside apps on people’s phones, and those we cannot reach in and change. It can gain optional fields; it cannot change shape. That is about as hard as a guarantee gets without being a contract.
What do you do with the data?
We hold your account, your page and your brand. Your customer numbers we never see: they are encrypted before they leave your server and the key lives in a part of the URL that browsers do not send anywhere.
Hand out your first card today
Registering takes a minute, and you can have the code in your project before your coffee is cold.