Checkify for WooCommerce

چۈشەندۈرۈش

Checkify for WooCommerce adds a privacy-first age verification gate to your WooCommerce shop. Customers scan a QR code with the Checkify app to prove their age before checkout.

Requires Checkify Connector and WooCommerce.

Features

  • Configurable minimum age from 10 to 110
  • Verified or High Assurance assurance levels (aligned with the Checkify app)
  • Gate scope: checkout only, cart + checkout, or entire storefront
  • Inline widget on cart/checkout or full-page gate for catalog protection
  • Restrict verification to selected product categories (for example Vape or Alcohol)
  • Optional skip for logged-in customers and shop-manager bypass
  • Classic checkout and WooCommerce Checkout block / Store API support
  • HPOS (custom order tables) compatible

How it works

  1. Install and connect Checkify Connector with your Checkify Pass ID.
  2. Activate Checkify for WooCommerce.
  3. Configure minimum age, scope, and optional category restrictions under WooCommerce Checkify age gate.
  4. Unverified customers see the Checkify QR widget and cannot complete checkout until verified.

Category-scoped gating

Leave all category checkboxes unchecked to require verification for every product. Select specific categories to gate only those products and carts that contain them. Products in unrestricted categories (for example a t-shirt) should not trigger the gate when categories are configured correctly.

External services

This plugin relies on Checkify Connector (required dependency) to connect your WordPress site to Checkify verification services.

Service used:

  • Checkify API: https://checkify.me
  • Checkify website: https://checkify.me

Data is sent to Checkify when a customer starts or completes age verification on your shop (via the Checkify Connector plugin). This plugin itself does not make separate API calls; it uses the Checkify Connector API and verification session already configured on your site.

The plugin may cause the following data to be sent to Checkify (through Checkify Connector):

  • Your WordPress site domain
  • A Checkify site identifier and installation identifier
  • The Checkify Pass identifier configured by the site administrator
  • Verification request identifiers and status tokens
  • Request timestamps
  • Cryptographic signatures used to authenticate the WordPress installation

Browser storage (via Checkify Connector):

  • Cookie: checkify_state_id (functional verification session binding)
  • sessionStorage: short-lived pending QR request state in the verification widget

Checkify privacy policy: https://checkify.me/privacy-policy

Checkify terms: https://checkify.me/terms_and_conditions

ئېكران كەسمىسى

ئورنىتىش

  1. Install and activate WooCommerce.
  2. Install Checkify (the Checkify Connector plugin): search for Checkify under Plugins Add New on the WordPress.org plugin directory, or upload the Checkify Connector ZIP from checkify.me/wordpress-integration#downloads if you use the standalone package.
  3. Activate Checkify, connect your site, and save your Checkify Pass ID.
  4. Install Checkify for WooCommerce via Plugins Add New, or upload the ZIP to /wp-content/plugins/checkify-for-woocommerce/.
  5. Activate the plugin through the Plugins menu.
  6. Go to WooCommerce Checkify age gate to configure age, scope, and categories.

FAQ

Do I need a Checkify business account?

Yes. Site connection is approved by a business owner scanning the connection QR in the Checkify app. Age verification uses a Checkify Pass configured for your connected site.

Which plugins are required?

WooCommerce must be installed and active. Checkify (Checkify Connector) is also required for the age gate to run. You can activate Checkify for WooCommerce before Checkify is ready; an admin notice will guide you to install or activate Checkify until it is active.

Where do I get Checkify (Checkify Connector)?

Install Checkify from the WordPress.org plugin directory via Plugins Add New, or download the Checkify Connector ZIP from checkify.me/wordpress-integration#downloads and upload it under Plugins Add New Upload Plugin. Both packages provide the same Connector functionality.

Does this work with WooCommerce block checkout?

Yes. The inline verification widget is injected into cart and checkout blocks, Place order is disabled until verification completes, and Store API checkout/add-to-cart requests are blocked when required.

Can I gate only alcohol or vape products?

Yes. Under Restricted categories, select the WooCommerce product categories that require age verification. Carts containing only products outside those categories can proceed without verification.

Does parent category selection include subcategories?

Yes. Selecting a parent category also applies to products assigned to child categories. Category matching uses the parent product for variable products.

What happens if no categories are selected?

Verification is required for every product in the cart. Check the Status panel on the settings page — it should list how many categories are selected, not «All products (no category filter)».

Does this plugin store customer identity data in WordPress?

No. Verification results are stored locally as a short-lived session (browser cookie and server transient) by Checkify. Your shop receives an age verification result, not passport or ID images.

Is WooCommerce HPOS supported?

Yes. The plugin declares compatibility with WooCommerce custom order tables (HPOS).

باھالاشلار

بۇ قىستۇرمىغا تېخى باھا يېزىلمىدى.

تۆھپىكار ۋە ئىجادكار

«Checkify for WooCommerce» كودى ئوچۇق يۇمشاق دېتال. تۆۋەندىكى كىشىلەر بۇ قىستۇرمىغا تۆھپە قوشقان.

تۆھپىكار

«Checkify for WooCommerce» نى تىلىڭىزغا تەرجىمە قىلىڭ

ئىجادىيەتكە قىزىقامسىز؟

كودقا كۆز يۈگۈرتۈپ، SVN خەزىنە تەكشۈرۈپ ياكى RSSئارقىلىق ئىجادىيەت خاتىرىسىگە مۇشتەرى بولغىلى بولىدۇ.

ئۆزگىرىش خاتىرىسى

1.2.13

  • Fix critical error when WordPress.org Checkify 1.2.1 (or older Connector builds without checkify()/site()/verification()/widget()) is active
  • Require Checkify/Connector 1.2.2+ service APIs before loading the age gate
  • Harden admin, gate, and widget paths so outdated Checkify installs show a dependency notice instead of crashing the site

1.2.12

  • Document that Checkify (Connector) is available on WordPress.org as plugin slug checkify
  • Detect both WordPress.org (checkify/checkify.php) and ZIP (checkify-connector/checkify-connector.php) Connector installs
  • Update admin install guidance and dependency notices accordingly
  • Document Checkify browser cookie and sessionStorage in external services section

1.2.11

  • Prevent fatal errors when an older Checkify Connector is active (safe asset enqueue fallback)
  • Require Connector 1.2.1+ before registering the storefront gate; show an admin notice when Connector is outdated
  • Guard against duplicate plugin copies loading at once (dev folder plus release ZIP)

1.2.10

  • WordPress.org review: strip Checkify Connector inline style blocks from storefront widget output
  • Move Checkify widget presentation styles into enqueued gate.css
  • Plugins list: add Settings action link and row meta when WooCommerce is active
  • Avoid duplicate Connector dependency notice on the settings page install card

1.2.9

  • Checkify Connector dependency: runtime checks with download/activate links (Connector is not a WordPress.org plugin slug)
  • Admin settings page explains Connector install steps when Connector is missing or inactive
  • Safe activation defaults when Connector is not loaded yet
  • Readme: clarify Connector download URL and that WooCommerce is the only Requires Plugins header

1.2.8

  • WordPress.org review: remove invalid Requires Plugins header for Checkify Connector (dependency handled in code)
  • WordPress.org review: enqueue admin CSS instead of inline style block
  • WordPress.org review: scope admin notices to WooCommerce and Plugins screens
  • WordPress.org review: sanitize Checkify widget HTML via wp_kses before output

1.2.7

  • Plugin Check: escape translated age help text via esc_html( sprintf( __() ) )

1.2.6

  • Plugin Check: fix translator comment placement and Store API exception escaping annotations

1.2.5

  • Plugin Check: i18n translator comments, escaped printf placeholders, sanitized exception messages
  • Remove manual load_plugin_textdomain() (WordPress.org loads translations automatically)
  • Prefixed uninstall.php option loop variables

1.2.4

  • WordPress.org: align plugin slug, main file, and text domain to checkify-for-woocommerce
  • WordPress.org: Tested up to WordPress 7.0
  • Release ZIP excludes hidden development files

1.2.3

  • Require Checkify Connector (not the legacy Checkify slug) in plugin headers — matches other Checkify satellite plugins
  • Readme and metadata consistently refer to Checkify Connector

1.2.2

  • Fix activation blocked on sites using the checkify-connector plugin folder (WordPress only hard-requires WooCommerce at activation)
  • Checkify Connector remains a runtime dependency with an admin notice if missing

1.2.1

  • Fix category matching for variable products (use parent product categories)
  • Match restricted parent categories to products in child categories
  • WordPress.org release packaging and readme updates
  • Add uninstall cleanup for plugin options

1.2.0

  • Replace fixed 18/21/25 age profiles with configurable minimum age (10–110)
  • Add minimum assurance selector: Verified or High Assurance (aligned with Checkify app)
  • Automatic migration from legacy age_over_* profile setting

1.0.5

  • Fix blocked checkout with no QR when gate mode is full-page but scope includes checkout (block checkout)
  • Always show inline verification widget on cart/checkout pages when verification is required
  • Fallback gate injection via the_content and woocommerce_before_main_content
  • Load block-checkout helper whenever checkout is blocked, not only when block detection succeeds

1.0.4

  • Block Checkout: inject inline gate via block-specific render hooks
  • Block Checkout: load Checkify verify scripts during block render (not only via shortcode)
  • Block Checkout: disable Place Order button and payment section until verification completes
  • Block Checkout: re-init QR widget after React checkout hydrates

1.0.3

  • Restrict age gate to selected WooCommerce product categories (optional)
  • Customer policies: skip gate for logged-in users and shop-manager bypass
  • Checkout/cart/add-to-cart guards respect category-scoped carts
  • PHPUnit coverage for core gate policy rules

1.0.2

  • Inline Checkify widget on cart and checkout (default for checkout-only scope)
  • Full-page gate remains default for cart and entire-store protection
  • Cache-control headers and admin caching guidance for hosts and WP Rocket
  • Block classic AJAX add-to-cart when cart/store protection is active
  • Disable Place order button until verification completes on classic checkout

1.0.1

  • Declare WooCommerce HPOS compatibility
  • Block Checkout block / Store API checkout and add-to-cart when verification is required
  • Do not gate customers until site connection and Pass ID are configured
  • Replace HTTP 403 gate page with a normal verification page (503 if Pass ID missing)
  • Admin status panel, setup instructions, and configuration warnings

1.0.0

  • Initial release