Prerequisites
- WordPress 6.0 or higher
- PHP 7.4 or higher
- A Didit Console account
Step 1: Get your Didit credentials
- Sign up or log in at business.didit.me
- Go to API & Webhooks and copy your API Key
- Go to Workflows, create or select a workflow, and copy the Workflow ID
You can also copy the UniLink URL (click “Copy Link” on the workflow) if you want the simplest setup without API keys.
Step 2: Install the plugin
- Download
didit-verify.zipfrom the latest release - In your WordPress admin, go to Plugins → Add New → Upload Plugin
- Choose the downloaded ZIP file and click Install Now
- Click Activate
Once the plugin is approved on WordPress.org, you will also be able to install it directly by searching “Didit Verify” in Plugins → Add New.
Step 3: Configure the plugin
Go to Settings → Didit Verify.Choose your mode
| Mode | Best for | What you need |
|---|---|---|
| UniLink | Quick testing | Just the UniLink URL from your workflow |
| API Session (recommended) | Production use | Workflow ID + API Key |
The API key is stored securely on your server and never exposed to visitors.
Configure session options (API mode only)
These are optional settings that give you more control:- Vendor Data — Links each verification to a specific user in your Didit dashboard, so you can track who verified. Default is WordPress User ID (e.g.
wp-42). You can also choose User Email, a custom prefix, or disable it. - Callback URL — A page on your site where users are redirected after verification. Didit appends
verificationSessionIdandstatusas query parameters. - Callback Method — Which device handles the redirect:
initiator(the device that started),completer(the device that finishes), orboth. - Language — Choose from 49 languages or let it auto-detect from the browser.
Configure display options
- Display Mode — Modal (popup overlay) or Embedded (inline on the page)
- Close Button — Show or hide the X button on the modal
- Exit Confirmation — Show an “Are you sure?” dialog when closing
- Auto-close — Automatically close the modal when verification completes
- Debug Logging — Log SDK events to the browser console (for troubleshooting)
Customize the button
Under Button Appearance, you can change:- Button text and success text
- Background color and text color
- Border radius, padding, and font size
Step 4: Add verification to your site
For WooCommerce stores
- In Settings → Didit Verify → WooCommerce, check Require identity verification at checkout
- Choose where the verification section appears:
- Top of checkout page
- After billing details
- After order notes
- Before “Place Order” (recommended)
- Optionally enable Send Billing Data to auto-send the customer’s name, email, phone, and address to Didit for pre-filling and cross-validation
Country codes are automatically converted from WooCommerce’s alpha-2 format to Didit’s required alpha-3 format.
For any WordPress page
Add this shortcode to any page or post:Step 5: Restrict content to verified users (optional)
Show or hide content based on verification status:Checking verification status
| Where | How |
|---|---|
| Admin panel | Users → All Users — a “Didit” column shows ✓ for verified users |
| WooCommerce orders | The Didit session ID appears in the order details |
| Shortcode | [didit_status] displays the status on any page |
Troubleshooting
| Issue | Solution |
|---|---|
| ”Creating session…” hangs | Check that your Workflow ID and API Key are correct in Settings → Didit Verify |
| Modal doesn’t open | Make sure the page contains [didit_verify] or WooCommerce checkout verification is enabled |
| Verification UI in wrong language | Change the Language setting in Session Options |
| Need to debug | Enable Debug Logging in Display Options, then open the browser console (F12) to see SDK events |
Security
The plugin acts as a secure backend proxy. Your API key never reaches the browser. Every session request is protected by:- CSRF nonce — requests must originate from your WordPress site
- Login requirement — only registered users can create sessions (configurable)
- Rate limiting — 10 sessions/hour per user, 3/hour per IP for guests
- Input sanitization — all fields are whitelisted and sanitized server-side