
Age Verification with Yoti for OpenCart — proof of age before the checkout
Proof of age with Yoti before the OpenCart 4.x, 3.x, 2.3 checkout; Pro adds ages by category and product, webhook, journal, CSV. Lifetime licence.
- Compatibility
- OpenCart 4.0.2.0–4.1.x, 3.0.x, 2.3.0.2 · module language: English
- PHP
- 7.0 or newer
- Version
-
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3) - Licence
- a site + a staging copy, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- November 2026
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
Key points
What the buyer sees
The buyer presses Checkout and lands on the “Confirm your age” page: why the shop is asking, three short points and the “Verify my age” button.
What the admin gets
Extensions → Modules → Age Verification with Yoti: the Connection, Checkout, Ages, Methods, Automation and Licence tabs.
How much it costs
The base version is free. Pro costs 1 290 UAH, a one-time payment for a lifetime licence.

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — a site and a staging copy
Moving the site? Unlink the licence on the old domain and activate it on the new one yourself. A staging copy (staging., dev.) works with the same key and does not take a site slot. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
OpenCart 4.0.2.0–4.1.x, 3.0.x or 2.3.0.2; PHP 7.0+ for 2.3, the cURL extension.
A Yoti Hub account with a service for Age checks → Age verification: its SDK ID and API key.
HTTPS on the shop for Yoti notifications (Pro).
The standard OpenCart checkout; a third-party one-page checkout with its own confirm step is not blocked, and its orders get the “Age NOT verified” mark.
Version history
For OpenCart 4.x, 3.x and 2.3: proof of age 18 or over with Yoti before the checkout, no order without it, the result on the order page and in the history, a check of the keys.
Frequently bought with Age Verification with Yoti


Cart Discounts (Amount-Based and N+1) for OpenCart

CatCode SEO Pack — SEO Module for OpenCart 2.3, 3.x and 4.x

AI Product Descriptions for OpenCart 2.3, 3.x and 4.x — description generator
Full module description
Age Verification with Yoti for OpenCart 4.x, 3.x and 2.3 asks the buyer to prove their age with Yoti before the checkout opens. It is made for UK shops that sell age-restricted goods: alcohol, vapes, knives, adult products.
How the age is proven. Yoti does the check on its own screen: facial age estimation (a selfie), Digital ID in the Yoti app, or an ID document with a selfie. The shop receives only the answer, old enough or not, with the method and the Yoti session number. The photo, the document and the date of birth never reach the shop.
What the buyer sees
The buyer presses Checkout and lands on the “Confirm your age” page: why the shop is asking, three short points and the “Verify my age” button. The button opens Yoti’s screen, where the buyer chooses how to prove their age. After the answer they are back in the checkout with the same basket, and a second order in the same session goes through without being asked again. If Yoti could not confirm the age, the buyer left the screen or the session ran out of time, the page says so in plain words and offers “Try again”; the basket stays. The number of attempts a day is limited (5 by default).
What the admin gets
Extensions → Modules → Age Verification with Yoti: the Connection, Checkout, Ages, Methods, Automation and Licence tabs. The connection needs the SDK ID and the API key of an Age verification service from Yoti Hub. “Save and check the keys” shows straight away whether Yoti accepts them and says what is wrong: an unknown SDK ID or a wrong key. The API key is stored encrypted and is never sent back to the form.
An order cannot be placed without proof of age by going around the page either: the standard confirm step of OpenCart is closed on the server, the buyer sees a notice with a “Verify my age” link instead of the Confirm Order button, and no order is created. Third-party one-page checkouts with their own confirm step are not blocked: such an order is created with the “Age NOT verified” mark, shown on the order page and in the order history.
The order page gets an “Age verification” box: a one-line summary (green when the age is proven, red when it is not), the age the shop asked for, the method, the time of the answer, the Yoti session and the Yoti evidence ID. The same summary is written as a line in the order history. On the Checkout tab you decide what happens when Yoti is out of reach: keep the buyer out of the checkout, or let them through and mark the order as “Age NOT verified”. The same tab has the extra years for age estimation: a selfie estimate has to show that many years more than the age you ask for; Digital ID and documents are not affected.
Pro makes the age flexible. The age of the shop is 18, 21 or 25; categories (with their subcategories) and products can have rules of their own, and the rule of a product wins over the rule of its category. In the “only listed” mode a basket without listed items is not asked. On the Methods tab you choose what the buyer is offered: facial age estimation, Digital ID, an ID document, credit card, mobile provider (the last two work for the age of 18 only), and the country preselected for the document.
Automation in Pro: Yoti notifies the shop about every result, so the answer arrives even when the buyer closes Yoti’s page and does not come back; the shop needs HTTPS for the notifications. A buyer with an account is remembered for the number of days you set, or for good, and is not asked again. The age can be asked before a new account is created. The “Age checks” journal under Sales lists every attempt: date, purpose, age, method, result, Yoti session, customer and order, with filters and a CSV export.
How it works, step by step
- Install the archive for your OpenCart version and enable the module.
- In Yoti Hub create a service for Age checks → Age verification and copy its SDK ID and API key.
- On the Connection tab paste the keys, press “Save and check the keys” and tick “Ask buyers to verify their age”.
- On the Checkout tab set the attempts a day and what happens when Yoti is out of reach.
- The buyer proves their age before the checkout, and the result appears on the order page.
- In Pro add ages by category and product, choose the methods, switch on Yoti notifications, remembered buyers and the journal.
Under the hood
- Yoti decides the age; the shop keeps the result only: the method, the time, the session number and the evidence ID.
- The photo, the document and the date of birth are neither sent to the shop nor stored by it.
- The confirm step is closed on the server, not just by hiding a button.
- A result that arrives by notification is read again from Yoti with your key, not taken from the request body.
- A Yoti session opened by one browser does not work for another.
- The API key is encrypted and never written to the module log.
- OpenCart events, no core edits; after an uninstall and a reinstall the settings and the journal are still there.
- The module interface and the texts for the buyer are in English.
How to install
- Extensions → Installer: upload the archive for your version without renaming it (OpenCart 4: cc_yoti.ocmod.zip, 3.x: cc_yoti-oc3.ocmod.zip, 2.3: cc_yoti-oc23.ocmod.zip).
- For 3.x and 2.3: Extensions → Modifications → Refresh.
- Extensions → Modules → Age Verification with Yoti: install and edit.
- Paste the SDK ID and the API key, press “Save and check the keys” and switch the module on.
- For Pro: paste the key or start the trial on the Licence tab.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Is this an official Yoti module?
No, it is an independent integration through the public Yoti Age Verification API. Yoti is a trademark of its owner.
What do I need from Yoti?
A Yoti Hub account and a service for Age checks → Age verification. Its SDK ID and API key go into the module.
Which methods is the buyer offered?
In the free version: facial age estimation, Digital ID and an ID document with a selfie. In Pro you choose the methods yourself, including credit card and mobile provider for the age of 18.
Does the shop keep the buyer's photo or document?
No. The shop receives only the answer, the method, the session number and the evidence ID from Yoti.
Can an order be placed without proof of age?
Not through the standard OpenCart checkout: its confirm step is closed on the server. A third-party one-page checkout with its own confirm step is not blocked, and its order gets the "Age NOT verified" mark.
What happens when Yoti is out of reach?
You choose: keep the buyer out of the checkout, or let them through and mark the order as "Age NOT verified".
Does the module make my shop compliant with the law?
The module is a tool for proof of age. Which goods you sell from which age, and which rules you follow, is for the shop to decide.
Which OpenCart versions?
OpenCart 4.0.2.0–4.1.x, 3.0.x and 2.3.0.2: three separate archives in one product.
Is the licence lifetime?
Yes, for OpenCart it is one payment and a lifetime licence for two sites.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—
Charged in UAH; your bank converts it to your currency. EUR price is approximate.



















