Merchant and POS
A code on the counter. Any wallet. Done.
The customer scans what is already on your screen and pays from a wallet that reads the format. The identifier the payment carries tells your till which sale it was.
Self contained
A payment code should not depend on a website staying up.
Hosted checkouts are smooth until the page is slow, the provider has an incident, or the shop's connection drops. A Payvol code is the request itself, so the only things that have to work are the customer's phone and the ledger.
The code carries the request, not a link to it
Everything the wallet needs is in the bytes on the screen. Nothing is fetched, so nothing can be unreachable at the moment of sale.
One code, whoever the customer banks with
Because the format is open and the vectors are public, a wallet either reads it correctly or fails its own tests. You are not asking customers to install anything.
The sale number stays inside your shop
The request carries an identifier. Your point of sale keeps that identifier next to its own sale number, locally, and nothing about what was bought or by whom goes near the ledger.
No terminal fleet, no provider account
There is no gateway to sign up for, no per transaction share to negotiate, and no third party holding a record of every sale you make. The counter and the ledger deal with each other directly.
How it works
Show, scan, settle.
01
Show
- Your point of sale builds a request for the amount
- It renders as a code on the screen or a printed slip
- Nothing has been written to the ledger yet
02
Scan
- The customer's wallet reads the bytes on the spot
- It checks the destination and the asset
- It shows what it established, and what it could not
03
Settle
- The transfer runs on the network's own rails
- Your node sees it arrive with the identifier
- The till marks the sale, without anyone typing
Before you start
Where this does not fit yet.
How to start
Put one on a screen and scan it.
The app turns a payment you describe into a real request, as a QR code you can save and a link you can copy. This situation uses Request, Verify and Route.
npm i @payvol/core @payvol/qr version 0.4.0
Payvol Request Payvol Verify Payvol Route Open the app Next: Treasury requests