How to Add Identity Verification to WordPress & WooCommerce in Minutes
Learn how to integrate KYC identity verification into your WordPress or WooCommerce site with Didit's free plugin — no code required, ready in under 5 minutes.

Why Your WordPress or WooCommerce Site Needs Identity Verification
If you run a WordPress site or WooCommerce store that sells age-restricted products, handles regulated transactions, or simply needs to know who your users really are, identity verification is no longer optional — it's a competitive advantage.
Whether you're selling alcohol, CBD products, financial services, or managing a marketplace where trust matters, verifying your users' identities helps you stay compliant, reduce fraud, and build confidence with your customer base.
The challenge? Most identity verification solutions require complex API integrations, developer resources, and expensive contracts. That's exactly what Didit's WordPress plugin eliminates.
Introducing the Didit Identity Verification Plugin for WordPress
Didit offers a free WordPress plugin that adds full-featured identity verification directly to your WordPress site or WooCommerce checkout — without writing a single line of code.
Here's what you get out of the box:
- Document verification across 14,000+ document types from 220+ countries
- Biometric liveness detection to prevent spoofing and fraud
- AML screening against 1,000+ global watchlists
- Age verification for age-restricted products and content
- WooCommerce checkout integration with customizable placement
- Content gating with the
[didit_gate]shortcode
All at $0.33 per verification.
What you need before you start
The plugin requires WordPress 6.0 or higher and PHP 7.4 or higher, plus a Didit account. If your host runs an older PHP version, upgrade it before installing.
The platform behind the plugin
The plugin is a front end for the Didit platform. Beyond document and liveness checks, Didit covers KYB, AML screening and ongoing monitoring, transaction monitoring, wallet screening, government database checks, face match, NFC chip reading, age estimation, proof of address, phone and email verification, and Authentication. No-code workflows let you decide which checks run and in what order.
Didit also supports Reusable KYC. A user completes verification once and can reuse it across other applications connected to Didit, which shortens repeat onboarding.
How to Set It Up (Under 5 Minutes)
Step 1: Get Your Didit Credentials
Sign up at business.didit.me (it's free). Navigate to Settings > API & Webhooks to grab your API key, then go to Workflows to copy your Workflow ID.
Step 2: Install the Plugin
Download the plugin ZIP from the GitHub releases page, then:
- Go to WordPress Admin > Plugins > Add New > Upload Plugin
- Upload the ZIP file
- Click Activate
Step 3: Configure
Choose your mode:
- UniLink mode — paste your workflow URL and you're done. Perfect for testing.
- API Session mode — enter your Workflow ID and API Key. Recommended for production since credentials stay server-side.
Customize the verification button's colors, text, and placement to match your site's design.
Step 4: Add Verification to Your Pages
For WooCommerce: Enable checkout verification in the plugin settings. Choose where the verification button appears in your checkout flow.
For any WordPress page: Drop the [didit_verify] shortcode wherever you want the verification button to appear.
For content restriction: Wrap premium or age-gated content with the [didit_gate] shortcode:
```
[didit_gate]
This content is only visible to verified users.
[/didit_gate]
```
Session options (API Session mode only)
- Vendor data: links each verification to a specific user in your Didit dashboard. The default is the WordPress user ID (for example,
wp-42). You can switch to the user email, set a custom prefix, or turn it off. - Callback URL: the page users land on after verification. Didit appends
verificationSessionIdandstatusas query parameters, so you can show a result message or hand off to your own logic. - Callback method: pick
initiator,completer, orbothto control which device follows the redirect. - Language: choose from the supported list or let the plugin auto-detect the browser language.
Display options
- Modal or embedded: show verification as a popup overlay or inline on the page.
- Close button and exit confirmation: hide the X button, or show an "are you sure" dialog when someone leaves mid-flow.
- Auto-close: close the modal as soon as verification completes.
- Debug logging: log SDK events to the browser console when you need to troubleshoot.
WooCommerce settings worth knowing
Inside Settings > Didit Verify > WooCommerce, enable "Require identity verification at checkout" and pick a position: top of the checkout page, after billing details, after order notes, or before the Place Order button (the recommended spot). The session ID is written to the order metadata, so each order keeps an audit trail.
You can also enable Send Billing Data, which passes customer details to Didit for pre-filling and cross-checking against the submitted document.
Shortcode options
The [didit_verify] shortcode accepts attributes, so you can change copy or layout per page:
[didit_verify text="Verify Now" success_text="Done!"]
[didit_verify mode="embedded"]
The [didit_gate] shortcode takes a custom message for unverified visitors:
[didit_gate message="Please verify to continue."]Secret content here.[/didit_gate]
To print a user's verification state anywhere on the site, use [didit_status]. It renders "Identity Verified" or "Not Verified" for the logged-in user.
Developer-Friendly Hooks
Need deeper integration? Didit's plugin fires PHP action hooks you can tie into:
didit_verification_completed— triggered when a user completes verificationdidit_verification_cancelled— triggered when verification is cancelleddidit_session_created— triggered when a new session starts
You can also check verification status programmatically via user metadata, making it easy to build custom logic around verified and unverified users.
Built-In Security
The plugin follows WordPress security best practices:
- CSRF protection with nonces on every request
- Rate limiting to prevent abuse
- Input sanitization to block injection attacks
- Server-side API key storage — credentials are never exposed to visitors
WooCommerce Use Cases
| Use Case | How It Works |
|---|---|
| Age-restricted products (alcohol, CBD, tobacco) | Verify buyer's age before checkout completes |
| High-value transactions | Require ID verification for orders above a threshold |
| Marketplace seller onboarding | Verify seller identity before allowing listings |
| Subscription services | One-time verification tied to customer account |
| Regulated goods | Comply with local regulations for controlled products |
Why Didit Over Other Solutions?
| Feature | Didit | Jumio | Onfido | Veriff |
|---|---|---|---|---|
| Price per verification | $0.33 | $2-5+ | $2-4+ | $1.50-3+ |
| WordPress plugin | Native | No | No | No |
| WooCommerce integration | Built-in | Custom dev | Custom dev | Custom dev |
| Document types | 14,000+ | 5,000+ | 2,500+ | 11,000+ |
| Countries covered | 220+ | 200+ | 195+ | 190+ |
Get Started Today
Adding identity verification to your WordPress or WooCommerce site doesn't need to be a development project. With Didit's plugin, you can go from zero to verified users in under 5 minutes.
- Create your free Didit account
- Download and install the plugin
- Start verifying
Your users' trust is worth it. Your compliance team will thank you.
Related articles
- EUDI Wallet cross-border acceptance: one integration across the EU
- EUDI Wallet readiness: policies and controls for regulated firms
- EUDI Wallet holder binding: what a presentation really proves
- EUDI Wallet integration: how to choose your route (2026 guide)
- FINTRAC identity verification in 2026: methods, rules, C-12
- Quebec Law 25 and biometrics: identity verification guide (2026)