BitriPay
ONE QR. ONE GATEWAY. EVERY ELIGIBLE RAIL.Pay Local. Fund Global. Settle Your Way.
accepting payments

One printed code, every payer: how BitriQR works

A card machine has to be bought, charged and replaced. A QR code is a piece of paper. Here is what makes a printed code safe enough to nail to a wall, and why the sound matters more than the screen.

A card machine is a piece of equipment. A QR code is a piece of paper. That difference decides who can take a digital payment in most of the markets BitriPay serves, and it is the whole reason BitriQR exists.

The problem with the alternatives

A terminal has to be bought, charged, carried home at night and replaced when it breaks. It needs a signal of its own. It assumes somebody at the stall can read the screen.

The usual answer is to paint a mobile-money number on a board. That works until the customer mistypes the amount, or pays the stall next door, or shows you a screenshot and walks off with the fish. You have no reference, no record and no argument.

What a signed code changes

BitriQR is an EMVCo merchant-presented QR code — the same standard a bank wallet already reads — with a signed extension on top. The extension carries who the merchant is, which terminal it belongs to and, for a one-time code, the exact amount.

That signature is checked against a published key registry before the payer is shown anything. Alter a single character and the code stops resolving. Print your own and stick it over somebody else's and it does not become theirs; it becomes nothing.

Codes can be revoked with a reason — lost, stolen, tampered, replaced, retired — and a revoked code stops working the moment it is revoked, not the next day.

Two codes, two jobs

The stall code never changes. Print it once, laminate it, nail it to the wall. The customer scans and types what they owe. This is the code for a trader with a queue.

The one-time code carries the amount. Open the point of sale, type the total, show the screen. The customer scans and the amount is already filled in. There is nothing to mistype, which means there is nothing to argue about. This is the code for a pharmacy, a school fee desk, a shop with prices.

The sound is the receipt

When the money actually arrives, the phone plays a loud alarm and vibrates, and the screen shows the amount in large figures with a green tick and the payer's name. It is designed to be heard across a noisy market and understood without reading.

The rule for anyone taking payments is one sentence: if there was no sound, there was no money. A screenshot on the customer's phone is not a payment. It is a picture.

What it costs

Receiving into a personal wallet is free. A merchant account pays the percentage its dashboard shows, and a payment carried by the national switch carries the aggregation fee set in the console. Both are visible before the sale, not discovered afterwards on a statement.

Where to start

Open a merchant account, go to Receive, and press Enlarge. Print what you see. You are taking digital payments as soon as the ink is dry.

What you can check

These are facts about the running platform, not adjectives. Each one is visible in the product, in the API reference or in the ledger.

  • The payload is an EMVCo merchant-presented QR with a CRC, so a wallet that already reads EMVCo codes can read it.
  • A signed extension carries the merchant, the terminal and the amount, verified against an Ed25519 key registry that supports rotation.
  • Every code can be revoked with a reason — lost, stolen, tampered, replaced, retired — and a revoked code stops resolving immediately.
  • Scan analytics are kept per code, so a stall owner can see which printed sheet is actually being used.

What it costs

Receiving into a personal wallet is free. A merchant account pays the percentage shown in its dashboard before the sale, and a payment carried by the national switch carries the aggregation fee set in the console. Nothing is deducted that the dashboard did not show first.

Is it switched on?

Whether this is available depends on the authorisations in place and on what the administrator of a given deployment has switched on. That changes, and an article does not — so the live answer lives on the feature page, which reads it from the platform itself: BitriQR payments on the features page.

Frequently asked questions

Does the customer need the BitriPay app?

No. A BitriPay user pays in one scan. Anyone else opens the same code in their phone camera and reaches a checkout page that offers the rails available to them, and the merchant still receives it the same way.

What stops somebody printing their own code and sticking it over mine?

The code carries a signature over the merchant and the amount, checked against a published key registry before anything is shown to the payer. A code that has been altered does not resolve, and the payer sees a refusal rather than a payment screen.

I cannot read well. How do I know I have been paid?

The phone plays a loud alarm and vibrates for several seconds, and the screen shows the amount in large figures with a green tick. If there is no sound, there is no money — a screenshot on the customer’s phone is not a payment.

take the money bitriqr payments
Try it with a free account

Send with a QR code, add money by card or mobile money, issue a virtual card. Sandbox balances let you explore before any real money moves.

Open an account

Keep reading