Pay4All Age Verification – For WooCommerce & Pay4All Shop
Pay4All Age Verification blocks any order containing age-restricted products until the customer has submitted a 5-second video selfie and/or valid proof of identity, including the front and back of the document. The video selfie and identity document photos are captured by scanning a QR code, allowing the customer to continue the verification process on their smartphone.
The plugin integrates with WooCommerce and Pay4All Shop (pay4all-form). Install it alongside either e-commerce solution, and it will only appear when a product is marked as requiring age verification. The same settings page (Pay4All AGE > Settings) manages both integrations. A merchant using both Pay4All Shop and WooCommerce therefore only needs to configure the verification process once and will benefit from consistent behaviour across both platforms.
Identity document photos and/or video selfie
The merchant can choose to require either verification method or both, depending on the applicable legislation.
WooCommerce support
Simply select the Requires age verification option on the product page to trigger QR-code age verification during checkout. The customer’s age verification status can be reviewed directly from the order.
Pay4All Pro provides the WooCommerce integration. Pay4All Age remains completely free when used with Pay4All Shop.
How it works
- The merchant selects the Requires age verification option on the product edit screen.
- When a customer adds the product to their order form, a panel containing a QR code appears.
- The customer scans the QR code with their smartphone. The mobile capture page opens and allows them to take the required identity document photos or record the video selfie using their phone’s camera.
- The form displayed on the customer’s computer automatically unlocks once all required photos and/or the video selfie have been submitted.
- When the order is submitted, the encrypted photos and videos are stored with the order. They are only decrypted on demand by an administrator from the order edit screen.
Security
- Photos are encrypted with AES-256-GCM using a per-order (or per-user) subkey derived via HMAC-SHA256 from a master key.
- Ciphertexts live in a private folder guarded, so they are never web-servable.
- Admin decryption endpoint is nonce-protected and requires the
edit_userscapability. - Photos are auto-purged when the order (or user) is permanently deleted.
WPML / Polylang
Multilingual-aware : when the Requires age verification flag is set on a source product, every translation is treated as age-restricted too — even if the flag hasn’t been mirrored to the translation.
Available languages
Français (fr_FR), Deutsch (de_DE), Italiano (it_IT), English (en_US).
External services
This plugin does not connect to any external service. Everything runs on the site: photo capture, encryption, storage and admin decryption are all local. No data is sent to any third-party server.
Source code
The complete, non-minified source of this plugin is bundled inside the ZIP itself. Every PHP, CSS and JavaScript file is human-readable and directly editable. No compiler, transpiler or bundler is required to work on this plugin.
