Nicotine, vape and alcohol

Age verification for age restricted retail

Selling nicotine, vape or alcohol online means proving the buyer is old enough. Tessio does that at checkout without holding any ID data. The buyer proves their age with the EU age verification app (the EU Digital Identity Wallet follows once our access certificate is issued).

The problem

Nicotine, vape and alcohol are age restricted by national law almost everywhere. Online, the familiar options are a tickbox age gate or a document check at checkout, which is exactly where you don't want more friction. And once you collect an ID, you own the liability of storing it.

Tessio moves the check to the buyer's wallet. They confirm they are over 18, you get a signed yes or no and you store no documents or dates of birth. It is a lighter checkout step and a much smaller data footprint to defend.

Before and after

Without Tessio

  • A document upload at checkout, which brings ID data into your store.
  • Self declaration, which proves nothing about age.
  • Different handling per country with no single approach.

With Tessio

  • A quick wallet confirmation at checkout, with no document to upload.
  • You store a signed over 18 result and no customer ID data.
  • A real proof of age rather than a tickbox the buyer can lie on.
  • One integration for every EU storefront where buyers have the EU age verification app.

How it works

01

Call the API at checkout

POST an age check before the buyer completes an order for age restricted goods. You get a hosted verification link.

02

The buyer confirms 18+

They prove they are over 18 in the EU age verification app, at checkout, without uploading anything.

03

You get a signed result

A signed yes or no lands on your webhook, so you can release the order and keep evidence without storing documents or dates of birth.

Start a check

One POST creates a check and returns a link for the user's wallet. The signed result lands on your webhook. Full detail is in the developer docs.

curl -X POST https://api.tessio.eu/v1/age-checks \
  -H "Authorization: Bearer tk_your_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-4821" \
  -d '{ "minAge": 18, "reference": "order-4821" }'

Frequently asked

Which products does this cover?

Any age restricted product where you need to prove the buyer is over 18, such as nicotine pouches, vapes, tobacco and alcohol. The minimum age is set by national law, so confirm the threshold for each market you sell into.

Does it slow down checkout?

It's a wallet confirmation of a single fact, so it's lighter than uploading and processing an ID. Tessio does not offer a document or selfie fallback, so buyers without the app need another method alongside it.

Do you store the buyer ID?

No. You get an over 18 yes or no, not a document or a date of birth. There is no ID image on your systems or ours to secure or leak.

Related reading

Age assurance for age restricted retail

Put it in front of your users

Signup is open and a test project works as soon as you create one. Sending real traffic needs us to switch your organisation to live mode, so that part stays a conversation. Pricing is published, with no quote needed.