For online stores, large and small
Age verification for online stores
Check a customer's age at checkout, when they are about to pay, or earlier if your rules ask for it. A selfie first; if the face is inconclusive, an ID document at no extra cost.
For tobacco, vape, alcohol, CBD and other age-restricted products. Install the app for your store, or use the API. No sales call, no annual contract.
500 free live verifications, no time limit, no card.
- Shopify app Shopify App Store
- WooCommerce plugin WordPress.org
- PrestaShop module Pending PrestaShop approval
What you sell
Age rules rarely care how big you are. A two-person vape shop and a national chain face the same age of sale, from the first order. A short summary, not legal advice:
- Tobacco & nicotine pouches
- Minimum-age rules vary by market (18, 20, 21). A real age check beats a checkbox when regulators or payment processors ask to see the trail.
- Vape & e-liquids
- Card networks and platform partners increasingly expect stronger age assurance than a self-declared form. In the US the federal minimum age is 21. US vape store rules.
- Alcohol & spirits
- Wine, spirits, craft beer and gift boxes sold online or for local delivery, with the age checked before payment instead of on the doorstep. UK online alcohol rules.
- CBD & hemp-derived
- A mixed regulatory landscape across US states and European markets. Set the age threshold per country without rebuilding checkout each time.
- Adult products
- Age-assurance expectations are rising for adult stores in the UK and the EU. The check carries your store's brand, not ours.
- Weapons & ammunition accessories
- Categories where a chargeback dispute can hinge on whether the buyer was old enough. A verification ID on each order is part of the record.
- Knives & blades
- Bushcraft, kitchen and hunting retailers, where the age of sale applies to the blade, not to the size of the shop.
- Bars, restaurants & delivery
- Alcohol on an online menu or a delivery order: check the age before the order is paid, not on the doorstep.
Where the check sits in checkout
By default between cart and payment, when the customer is about to buy. You can move it earlier.
-
Browse
Catalog and product pages stay open to everyone, unless you gate them too.
-
Cart
The customer adds age-restricted products and opens checkout.
-
Runs here
ProofAge age check
Facial age estimation, with an ID document only if needed. Under 9 s end to end at the 95th percentile.
-
Payment
The customer pays as usual, with the verification ID stamped on the order.
-
Next order
The store app recognizes the returning customer, who isn't verified or billed again.
Checkout is where most stores put it. If your rules ask for a check earlier, the Shopify app and the WooCommerce plugin can also run it on add-to-cart, on the cart, on product and catalog pages, or when a customer enters the store.
With the check at checkout, customers who never reach checkout never start a verification. A verification is billed once, when it reaches a decision (approved or declined). Abandoned and expired verifications are free, and a resubmission we ask for (glare, blur) is not billed again.
A store can keep nothing after the decision: photos and video are deleted right after it, and you keep the result and a verification ID on the order. How we handle data.
Install it on your store
A store app where one exists, the API everywhere else
Shopify app
Live on the Shopify App StoreAdds an age check for age-restricted products at checkout, or earlier: on add-to-cart, on the cart, on product and collection pages, or for the whole store. Branded as your store.
- White-label checkout UI extension
- Verification receipts tied to the order
WooCommerce plugin
Live on WordPress.orgRuns the age check before add-to-cart, cart or checkout on WooCommerce stores, and can gate pages, post categories or the whole site on any WordPress site.
- Per-product and per-category age thresholds
- Verification snapshot stored on the WooCommerce order
PrestaShop module
Pending PrestaShop approvalRuns the age check at checkout. It is built and waiting for PrestaShop's approval. Choose PrestaShop in the form below and we will tell you when it is available; until then, use the API.
Any other checkout: API
Available nowCall the REST API from a headless storefront, BigCommerce, Magento, Wix, OpenCart or any custom checkout, and get the decision by webhook. We help you integrate: ready SDKs, an MCP server and an integration prompt for AI coding agents, and direct help from the developers who built it. For developers.
Returning customers aren't verified or billed again
The Shopify app, the WooCommerce plugin and the PrestaShop module recognize a customer who has already been verified, so they aren't verified or billed again on later orders. This applies to the store apps only: through the API, each verification you start is billed.
Each marketplace lists its own terms and pricing for the store apps. The API uses standard pricing, from $0.05 per verification: see pricing.
Try it as a customer
Open the live demo store, add an age-restricted product and go to checkout. You will see exactly what your customers see: a selfie, and an ID document only if the face is inconclusive.
Laws by market
You set the age threshold. ProofAge checks against it and leaves a record, not a checkbox, which helps you meet the rules of the markets you sell in. A short summary, not legal advice.
US — Tobacco 21 & state rules
The federal minimum is 21, and some states add their own rules. Set your threshold once and ProofAge helps you meet it on every order.
UK — age of sale & Online Safety Act
Age-assurance expectations are rising for age-restricted products and adult stores. A real age check inside your checkout helps you meet them.
EU — GDPR, DSA & Loi Évin
Set your per-country age threshold for alcohol, tobacco or other age-restricted products. Data is hosted in Google Cloud EU regions by default, and a store can keep nothing after the decision, which helps you meet GDPR's data-minimization rule.
Age verification for online stores: FAQ
How much does age verification cost for an online store?
The Shopify app, the WooCommerce plugin and the PrestaShop module are listed on their marketplaces, and each marketplace lists its own terms and pricing. Through the API, standard pricing applies: a Facial age estimation costs $0.05 per verification with standard liveness, and Age verification by ID costs $0.30. The first 500 verifications are free, with no time limit and no card. See the pricing page for the monthly minimum and the details.
Will returning customers have to verify on every order?
Not with the store apps. The Shopify app, the WooCommerce plugin and the PrestaShop module recognize a customer who has already been verified, so they aren't verified or billed again on later orders. With the API, each verification you start is billed once, when it reaches a decision, so your own checkout decides when to ask again.
What does the customer have to do?
Take a selfie. Facial age estimation estimates age from the face with a liveness check. If the face is inconclusive, for example when the customer looks close to the age limit, the check falls back to an ID document at no extra cost. End to end, at the 95th percentile, a Facial age estimation finishes in under 9 seconds. The flow carries your store's brand and works on a phone or a computer.
How does the Shopify app work?
ProofAge is live on the Shopify App Store. Install the app, connect your ProofAge account and choose which products need an age check and where it runs: at checkout, on add-to-cart, on the cart, on product and collection pages, or for the whole store. The check is branded as your store, without sending the customer to a third-party flow.
Can a WordPress or WooCommerce store run ProofAge before payment?
Yes. The ProofAge Age Verification plugin is live on WordPress.org. On any WordPress site it can gate the full site, selected pages or post categories. On WooCommerce stores it also hooks into add-to-cart, cart, checkout and the Store API, so the age check runs right before payment, for customers who are about to buy.
Is there a PrestaShop module?
Yes. The PrestaShop module is built and pending PrestaShop approval. Choose PrestaShop in the form on this page and we will tell you when it is available. Until then, a PrestaShop store can call the REST API directly.
Can I gate specific products instead of the whole cart?
Yes. You can start a verification only when the cart contains age-restricted products, so customers buying unrestricted products are not asked to verify. If your rules ask for more, the Shopify app and the WooCommerce plugin can also gate add-to-cart, the cart, product and catalog pages, or the whole store.
Is there a small-business exemption from age verification rules?
Usually not. Age-of-sale rules for alcohol, tobacco, vapes and knives apply to the first order, whatever the size of the shop. Some platform rules, like the EU Digital Services Act duty to protect minors, exempt micro and small enterprises, but product rules generally don't. This is a summary, not legal advice.
Is it really cheaper than checking IDs by hand?
In most cases, yes. If a manual check takes five minutes of a team member paid $20 an hour, it costs about $1.67 in time alone, several times the price of Age verification by ID ($0.30) and many times the price of a Facial age estimation ($0.05). Manual checks also mean storing photos of customers' IDs in an inbox, and they leave no consistent record to show an inspector. Comparing vendors instead? Our blog compares their published prices: age verification pricing compared.
Does this help with chargebacks and age-related disputes?
Each verification produces a verification ID that can be attached to the order. That gives you a record of the age check if an order is later disputed on age grounds.
What happens to customers' data?
A store usually needs one answer: is this customer old enough? So a store can keep nothing after the decision: photos and video are deleted right after it, and you keep the result and a verification ID instead of a folder of ID photos. If you need to block people, for example after repeated chargeback fraud, ProofAge can instead keep just enough to block repeat accounts, at the same price. Data is encrypted in transit and at rest and hosted in Google Cloud EU regions by default. We act as your data processor under a Data Processing Agreement, which lists our subprocessors, and we never sell data.
Get platform updates or request yours
Tell us your store and platform. Shopify and WordPress/WooCommerce go on the product update list; PrestaShop and other platforms go on the platform-request queue.
Try it on your own store
500 live verifications free, no time limit, no card.
Several shops, seasonal sales, higher volume or a competing quote? Talk to us.