Skip to content

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.

A merchant share page: the shop’s logo and colours, the card with a QR code, and a button that opens ShowCards.

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
The page editor with a live preview of the card next to it.

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.

showcards.php
// ── 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.

The code builder: pick a page, a brand and a label, and get the snippet with your values in it.

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.

  1. Your server Builds the card and encrypts it. Nothing leaves towards us.
  2. The link /s/your-shop/#the card, encrypted Everything after the hash stays in the browser. No server ever receives it.
  3. Your customer Opens it, and the card is in ShowCards.
What we see: that a page was opened. Not who, and not their number.

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.

The ShowCards wallet with brand tiles.

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.

Every card with you, always

Download ShowCards free on iPhone and Android.