This is an info Alert.
x402 Logo
  • Product
    • Become Agent-Ready
      • Merchants
        Agentic Commerce — list your store across ChatGPT, Gemini, Claude & Perplexity
      • Publishers
        Monetize your content when AI agents read, cite, or train on it
      • SaaS Companies
        Treat AI agents as first-class customers with agent-priced checkout
    • Monetize
      • Monetize MCP Server
        Charge per call on any MCP server in 2 minutes
      • Monetize AI Agents
        Turn n8n, Zapier, Activepieces workflows into revenue
      • Agent Feed
        Pay-per-query access to licensed publisher content for your agents
  • Resources
    • xpay Ecosystem
      • xpay✦ Tools
        1,000+ pay-per-use tools for your AI agents
      • Agent-Ready SaaS Index
        25,481 SaaS scored on agent-buyability
      • SaaS Pricing Database
        Pricing pages indexed across 1,000+ categories
      • Shopify Apps Directory
        Every Shopify app, with its full review history
      • WooCommerce Plugins Directory
        Every WooCommerce plugin, scored on how well it is maintained
      • GitHub
        Open source repositories
    • Agent Building
      • Agent Frameworks
        AI frameworks for building multi-agent systems
      • x402 Integration
        AI frameworks with x402 payment integration
      • Networks
        Blockchain networks supporting x402
    • Company
      • About xpay✦
        Our mission, products, and protocols
      • Blog
        Latest insights and updates
      • Docs
        Complete xpay documentation
  • Pricing
  • Blog
  • Docs
Get Started
  1. xpay✦ Commerce

  2. Directory

  3. WooCommerce plugins

  4. Pay4All Age Verification – For WooCommerce & Pay4All Shop

Pay4All Age Verification – For WooCommerce & Pay4All Shop

Age verification by scanning a QR code (ID document and/or video selfie) when ordering products subject to a legal age restriction from WooCommerce.

40+ active installsFree on WordPress.org
View on WordPress.orgSupport forum
Will this break my store?

What the WordPress.org registry says about keeping Pay4All Age Verification – For WooCommerce & Pay4All Shop running.

WordPress compatibility
Tested to 7.0.2
Tested against the WordPress branch in use today.
Last updated
4 days ago
Requires PHP
7.4
Your host must be running at least this version.
Requires WordPress
5.9
Contributors
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.

40+ active installsWordPress.org reports installs in bands, not exact counts.
Maintenance & trust

Scored on how Pay4All Age Verification – For WooCommerce & Pay4All Shop is looked after — not on how many stores run it.

Well maintained
Not enough public feedback to put a confident number on this one. Little public feedback — score rests mostly on release activity. What we can see is below.

Maintenance
35 / 35
Updated 4 days ago.
WordPress compatibility
20 / 20
Tested to WP 7.0.2 (current).
Support responsiveness
Not enough data
Only 0 support thread(s) — not enough to judge.
Merchant satisfaction
Not enough data
No ratings yet.
Listing transparency
7 / 10
Provides: screenshots, description
2 of 5 measures had too little evidence to score. They are left out of the total rather than counted as zero — otherwise a plugin would be marked down for being small rather than for being poorly kept.Measured 2026-08-02 from the WordPress.org plugin registry.
Ratings

No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.

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

  1. The merchant selects the Requires age verification option on the product edit screen.
  2. When a customer adds the product to their order form, a panel containing a QR code appears.
  3. 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.
  4. The form displayed on the customer’s computer automatically unlocks once all required photos and/or the video selfie have been submitted.
  5. 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_users capability.
  • 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.

Do I need Pay4All Shop or WooCommerce?

Yes. Pay4All Age Verification is a companion plugin — it plugs into either Pay4All Shop (free, ships the form-based checkout) or WooCommerce (via the paid Pay4All Pro add-on). On a bare WordPress install without either, the plugin stays dormant and shows an admin notice on the Plugins screen.

How are photos encrypted?

AES-256-GCM with a per-order (or per-user) subkey derived via HMAC-SHA256 from a master key. The master key is generated once and stored in wp-content/uploads/p4all-age-secure/age.key (mode 0600). Ciphertexts live in the same private folder, guarded by .htaccess, index.php and web.config so they are never web-servable — a direct URL always returns 403 / 404. See the Security section above for the full threat model.

Where is the master encryption key stored?

Outside the database, in wp-content/uploads/p4all-age-secure/age.key. This means a stolen SQL dump alone is not enough to decrypt the photos — the attacker would also need read access to that specific file. Please make sure your backup strategy either encrypts wp-content/uploads/p4all-age-secure/ or excludes it entirely from the backup archive.

What happens to the photos when an order is deleted?

They are auto-purged. Both the WooCommerce order lifecycle (woocommerce_delete_order hook) and Pay4All Shop order deletion trigger KycStorage::purge_order(), which removes every encrypted blob and the order-scoped directory. A daily cron also purges session-scoped buckets older than the configured TTL (default 24 h).

What happens if a user account is deleted?

The delete_user hook fires KycStorage::purge_user() — every stored user photo (recto / verso / selfie_1 / selfie_2) is removed together with the user record. GDPR-friendly by default.

Does the mobile capture page work on all phones?

The page uses the native <input type="file" accept="image/*" capture="…"> API — supported by Safari (iOS 6+), Chrome, Firefox, Edge on both Android and iOS. On the desktop side, the QR code is generated with a pure-JS library (no external service call) and the pairing is polled every 4 seconds via a REST endpoint scoped to the session token.

Does it work with WPML / Polylang?

Yes. When a product’s Requires age verification flag is ticked on a source-language product, every translation is treated as age-restricted too — even if the flag hasn’t been mirrored to the translation post. Same behaviour on WooCommerce products via Pay4All Pro.

Which languages ship out of the box?

French (fr_FR), German (de_DE), Italian (it_IT) and English (en_US). Every customer-facing string is also overridable per-language from the settings page — merchants can rewrite the KYC panel copy without touching a .po file.

Does the plugin contact any external service?

No. Photo capture, encryption, storage and admin decryption are all local — nothing leaves the site. The QR code is generated client-side ; the mobile page polls only your own WordPress REST API.

Categories
Security & spam
Plugin details
Version1.5.0
Last updated2026-07-29 8:22am GMT
Added2026-07-16
Requires WordPress5.9
Tested up to7.0.2
Requires PHP7.4

Tags on WordPress.org
age gate
age verification
ID verification
selfie
woocommerece
Alternatives
Other plugins in the same categories.
SilentShield – Captcha & Anti-Spam for WordPress (CF7, WPForms, Elementor, WooCommerce)
10K+ installs
4.7(20)
Block Emails & Addresses for WooCommerce Checkout
700+ installs
5.0(6)
Kitgenix CAPTCHA for Cloudflare Turnstile
600+ installs
5.0(6)
Checkout Shield for WooCommerce – Stop Fake Orders, Spam Bots & Card Testing
200+ installs
5.0(5)
FraudLabs Pro for WooCommerce
1K+ installs
4.2(18)
Identity Verification for WooCommerce
100+ installs
5.0(12)
x402 Logo

The agent-readiness stack for the AI shopping era — helping merchants, publishers and SaaS companies get discovered, cited and transacted with by ChatGPT, Perplexity, Claude, Gemini and the custom shopping agents underneath them.

CompanyAgentically Inc. (d/b/a xpay✦)1875 Mission St, Ste 103San Francisco, CA 94103, United Stateslegal@xpay.sh · privacy@xpay.sh
or ask your AI app
Company
About xpayAgency PartnersGitHubDiscordllms.txt
DevelopersDocumentationAPI ReferenceSDKs & LibrariesQuickstart GuideOpenAPI Spec
Stay Updated
Occasional product updates and agent-readiness playbooks from xpay (Agentically Inc.) — typically a couple of emails a month. Double opt-in: we email you a link to confirm before sending anything, and every email has one-click unsubscribe.
Social
  • For Publishers
    • News
    • Finance
    • Dev / Tech
    • Travel
    • View all verticals
  • Agent Feed
    • AI Search Engines
    • RAG Builders
    • Browser Agents
    • Vertical Research
    • Browse full catalog
  • Agent-Ready Index
    • SaaS Pricing Database
    • Agent-Ready SaaS Index
    • Verified band
    • AI & ML
    • Sales & CRM
  • Products
    • Pricing Widget
    • Monetize MCP Server
    • Paywall
    • Smart Proxy
    • Monetize AI Agents
    • xpay x402 Facilitator
  • Agentic Economy
    • Timeline
    • Resources
    • Manifesto
    • Stack
  • Agentic Commerce
    • Get listed
    • ChatGPT Ads
    • How ChatGPT Ads work
    • ChatGPT Ads · Apparel
    • ChatGPT Ads · Health & Beauty
    • xpay Listings · Amazon + Google
    • Pricing
    • Free audit
    • Shopify
    • WooCommerce
    • Apparel & Accessories
    • Health & Beauty
    • Overview
  • Commerce Index
    • Shopify apps directory
    • Agentic Commerce Ready Index
    • Methodology
    • Pet brands · WooCommerce
    • Pet brands · Shopify
  • Marketplace
    • 🛍️ xpay.deals — agentic storefront for deals
  • Protocols
    • Overview
    • x402
    • MPP
    • UCP
    • ACP
    • AP2
    • TAP
    • A2A
  • Agent Frameworks
    • Overview
    • LangChain
    • CrewAI
    • Claude MCP
    • AutoGPT
    • LangChain vs Mastra
    • LangGraph vs Pydantic AI
  • Company
    • About xpay
    • Blog
    • Docs
    • GitHub
  • Free prompts
    • Ecommerce prompts
    • Email marketing prompts
    • Product description prompts
    • Facebook ad prompts
    • Skincare prompts
    • Supplement prompts
    • Wine prompts
    • Electronics prompts

© 2025 Agentically Inc. All rights reserved.
Privacy PolicyTerms of UseAcceptable Use Policy