Skip to main content

Cashier — Printed QR credential with a PIN

For a participant without a phone/app:

EndpointWhat it does
POST /v1/events/{eventId}/cashier/wallet-credentials/printed-qrIssues a revocable credential linked to the wallet. The system generates a random PIN and returns it in the response body exactly once — it's never stored in plaintext anywhere, only its hash. Reissuing automatically revokes the previous credential — a wallet never has more than one active at a time.

There's no standalone PIN-reset endpoint that keeps the same QR. QR and PIN are two independent factors — the PDV reads the QR to find the credential, then asks for the PIN to validate that specific credential. One leaking alone is useless; only both together are a problem. So whenever there's any suspicion (PIN seen, card lost, whatever), the answer is always to reissue everything — there's no way to be sure only one of the two leaked. Even a plain "participant forgot their PIN," with no suspicion at all, also goes through reissuing (it's the only option available today).

Using this credential to pay is done on the PDV side — see PDV → Payment via printed QR + PIN.