Online verification

A shop asks for an age check without a POS terminal. The shopper completes it with eID on our page; the shop gets pass or fail, never the shopper's identifier, name or birth date.

The flow

StepWhoPage
1. Connect the shop to a tenant. Once per shop.Tenant admin and the shop's appConnecting a shop
2. POST /api/v1/verifications returns a verifyUrl.The shop's backendStarting a Verification
3. The shopper opens the link and signs in with eID.The shopperThe shopper page
4. One signed callback reports the outcome.Our backend, to the shop's appResult callbacks
5. POST /api/v1/transactions/{id}/finalize binds a passed Verification to one order.The shop's backendFinalize

Rules that hold throughout

  • A connected shop is bound to exactly one shop host. It can only read and finalize the Verifications it started, even inside one tenant. Anything else answers 404.
  • One Verification binds to one order. Finalizing the same order again is safe; a different order is refused.
  • Test it on a test tenant first (see Test mode). Every answer carries livemode; refuse a sale on livemode: false in production.
  • Errors follow Errors: Problem Details with a type slug, except Connect and the shopper routes, which answer a short error string.

Start with connecting a shop.