diff --git a/README.md b/README.md index ceb1c03..a86628a 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,10 @@ Identity verification for WordPress & WooCommerce using the [Didit SDK](https:// ## Verification decisions +The plugin settings use Didit branding and grouped configuration cards. +WordPress administrators see readable decision badges in **Users → Didit** and on WooCommerce order details. +The settings page links to both user results and the Didit Console, where the full verification report is available. + Use **API Session** mode for content gating and WooCommerce checkout. UniLink is for launching a flow and reviewing the result manually in Didit. The server binds each created session to its visitor or order, and retrieves the Didit decision before accepting a browser completion or checkout request. diff --git a/assets/css/didit-admin.css b/assets/css/didit-admin.css new file mode 100644 index 0000000..9db4dfa --- /dev/null +++ b/assets/css/didit-admin.css @@ -0,0 +1,58 @@ +.didit-admin { + --didit-ink: #111111; + --didit-muted: #616161; + --didit-line: #e5e5e5; + --didit-surface: #ffffff; + max-width: 1120px; + color: var(--didit-ink); + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; +} +.didit-admin-header { display: flex; align-items: center; gap: 28px; padding: 28px 0; } +.didit-admin-logo { width: 104px; height: 36px; flex: 0 0 auto; } +.didit-admin-header > div { flex: 1; } +.didit-admin .didit-admin-header h1 { font-size: 25px; font-weight: 500; line-height: 1.3; padding: 0; } +.didit-admin p { color: var(--didit-muted); line-height: 1.6; } +.didit-admin-header p { margin: 8px 0 0; } +.didit-admin-results, .didit-admin-card { + background: var(--didit-surface); + border: 1px solid var(--didit-line); + border-radius: 12px; + padding: 24px 28px; + margin: 0 0 20px; +} +.didit-admin-results { display: flex; align-items: center; gap: 24px; } +.didit-admin-results > div:first-child { flex: 1; } +.didit-admin-results h2, .didit-admin-card h2 { margin: 0; font-size: 17px; font-weight: 500; } +.didit-admin-results p { margin: 8px 0 0; } +.didit-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; } +.didit-admin .button { border: 1px solid var(--didit-line); border-radius: 999px; background: var(--didit-surface); color: var(--didit-ink); padding: 5px 16px; font-weight: 500; white-space: nowrap; } +.didit-admin .button:hover { border-color: var(--didit-ink); } +.didit-admin .button-primary { background: var(--didit-ink); color: var(--didit-surface); border-color: var(--didit-ink); padding: 8px 24px; } +.didit-admin .button:focus-visible, .didit-admin input:focus-visible, .didit-admin select:focus-visible { outline: 2px solid #2567ff; outline-offset: 3px; box-shadow: none; } +.didit-admin .form-table { margin-top: 12px; } +.didit-admin .form-table th { color: var(--didit-ink); font-weight: 500; padding: 20px 24px 20px 0; } +.didit-admin .form-table td { padding: 18px 0; } +.didit-admin .form-table tr + tr { border-top: 1px solid var(--didit-line); } +.didit-admin .form-table input:not([type=checkbox]):not([type=color]), .didit-admin .form-table select { border-color: #b8b8b8; border-radius: 8px; padding: 5px 10px; max-width: 100%; background-color: var(--didit-surface); color: var(--didit-ink); } +.didit-admin .form-table select { padding-right: 28px; } +.didit-admin .form-table .description { font-size: 12px; margin-top: 8px; } +.didit-admin .notice { border-radius: 8px; } +.didit-admin-status { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 500; line-height: 1.5; background: #f0f0f0; color: #555; white-space: nowrap; } +.didit-admin-status-approved { background: #e7f5ed; color: #166534; } +.didit-admin-status-declined { background: #fdecec; color: #991b1b; } +.didit-admin-status-review { background: #fff4dc; color: #854d0e; } +.didit-admin-order { margin-top: 16px; padding: 16px; border: 1px solid #e5e5e5; border-radius: 12px; background: #fff; color: #111; } +.didit-admin-order strong { display: inline-block; margin: 0 8px 8px 0; } +.didit-admin-order code { display: block; overflow-wrap: anywhere; font-size: 11px; margin-top: 8px; } +@media (max-width: 960px) { + .didit-admin-header { flex-wrap: wrap; gap: 20px; } + .didit-admin-header > div { flex-basis: calc(100% - 124px); } + .didit-admin-results { flex-direction: column; align-items: flex-start; } +} +@media (max-width: 782px) { + .didit-admin-card, .didit-admin-results { padding: 20px; } + .didit-admin .form-table th { padding: 16px 0 0; } + .didit-admin .form-table td { padding: 8px 0 16px; } + .didit-admin-header .didit-admin-logo { width: 86px; height: auto; } + .didit-admin .didit-admin-header h1 { font-size: 21px; } +} diff --git a/assets/didit-wordmark.svg b/assets/didit-wordmark.svg new file mode 100644 index 0000000..23a19aa --- /dev/null +++ b/assets/didit-wordmark.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/didit-verify.php b/didit-verify.php index cda3053..5b86a91 100644 --- a/didit-verify.php +++ b/didit-verify.php @@ -3,7 +3,7 @@ * Plugin Name: Didit Verify * Plugin URI: https://github.com/didit-protocol/plugin-wordpress * Description: Identity verification for WordPress & WooCommerce using the Didit SDK. - * Version: 0.3.2 + * Version: 0.3.3 * Author: Didit * Author URI: https://didit.me * License: GPL-2.0-or-later @@ -18,7 +18,7 @@ exit; } -define('DIDIT_VERIFY_VERSION', '0.3.2'); +define('DIDIT_VERIFY_VERSION', '0.3.3'); define('DIDIT_VERIFY_URL', plugin_dir_url(__FILE__)); define('DIDIT_API_URL', 'https://verification.didit.me/v3/session/'); @@ -180,6 +180,9 @@ public function admin_register_settings() public function admin_enqueue_scripts($hook) { + if (in_array($hook, ['settings_page_didit-verify', 'users.php', 'post.php', 'post-new.php', 'woocommerce_page_wc-orders'], true)) { + wp_enqueue_style('didit-admin', DIDIT_VERIFY_URL . 'assets/css/didit-admin.css', [], DIDIT_VERIFY_VERSION); + } if ('settings_page_didit-verify' !== $hook) { return; } @@ -235,7 +238,7 @@ public function field_api_key() '

%s

', esc_attr(get_option('didit_api_key', '')), - esc_html__('Found in Didit Console → API & Webhooks. Stored server-side only — never sent to the browser.', 'didit-verify') + esc_html__('Found in Didit Console → API & Webhooks. Used by your WordPress server to create and confirm sessions. Keep it private.', 'didit-verify') ); } @@ -765,16 +768,42 @@ public function admin_render_page() return; } ?> -
-

+
+
+ +
+

+

+
+ +
+
+
+

+

+
+ + +
+
'; + echo '

' . esc_html($section['title']) . '

'; + if ($section['callback']) { + call_user_func($section['callback'], $section); + } + echo ''; + do_settings_fields('didit-verify', $section['id']); + echo ''; + } submit_button(); ?>
-
+

[didit_verify]

@@ -793,6 +822,7 @@ public function admin_render_page()

+
✔'; + return $this->admin_status_badge($status, $title); } if ('Declined' === $status) { + /* translators: %s: date when the verification was declined */ $title = $date ? sprintf(__('Declined on %s', 'didit-verify'), $date) : __('Declined', 'didit-verify'); - return '✘'; + return $this->admin_status_badge($status, $title); } if ($status) { - $title = $date ? sprintf(__('In review since %s', 'didit-verify'), $date) : __('In Review', 'didit-verify'); - return '⏲'; + /* translators: %s: date when the verification status was last updated */ + $title = $date ? sprintf(__('Updated on %s', 'didit-verify'), $date) : $status; + return $this->admin_status_badge($status, $title); } - return '—'; + return $this->admin_status_badge(''); + } + + private function admin_status_badge($status, $title = '') + { + $styles = ['Approved' => 'approved', 'Declined' => 'declined', 'In Review' => 'review']; + $label = $status ?: __('Not verified', 'didit-verify'); + return '' . esc_html($label) . ''; } public function wc_hooks() @@ -2189,10 +2228,10 @@ public function wc_show_order_meta($order) if ($session_id) { $status = (string) $this->confirmed_order_status($order); printf( - '

%s %s%s

', + '
%s %s%s
', esc_html__('Didit Verification:', 'didit-verify'), - esc_html($session_id), - $status ? ' — ' . esc_html($status) : '' + $this->admin_status_badge($status), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by helper. + esc_html($session_id) ); } } diff --git a/languages/didit-verify.pot b/languages/didit-verify.pot index 7d5749d..6f9e270 100644 --- a/languages/didit-verify.pot +++ b/languages/didit-verify.pot @@ -2,14 +2,14 @@ # This file is distributed under the GPL-2.0-or-later. msgid "" msgstr "" -"Project-Id-Version: Didit Verify 0.3.2\n" +"Project-Id-Version: Didit Verify 0.3.3\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wordpress-integration-audit-20261006\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2026-10-06T11:38:09+00:00\n" +"POT-Creation-Date: 2026-10-06T12:32:06+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.12.0\n" "X-Domain: didit-verify\n" @@ -33,7 +33,7 @@ msgstr "" #. Author of the plugin #: didit-verify.php -#: didit-verify.php:2043 +#: didit-verify.php:2073 msgid "Didit" msgstr "" @@ -194,572 +194,595 @@ msgstr "" msgid "Reminders" msgstr "" -#: didit-verify.php:205 +#: didit-verify.php:208 msgid "UniLink — no backend needed" msgstr "" -#: didit-verify.php:207 +#: didit-verify.php:210 msgid "API Session — recommended for production" msgstr "" -#: didit-verify.php:208 +#: didit-verify.php:211 msgid "UniLink uses a fixed URL. API mode creates a unique session per user (requires Workflow ID + API Key)." msgstr "" -#: didit-verify.php:218 +#: didit-verify.php:221 msgid "Get this from Didit Console → Your Workflow → Copy Link." msgstr "" -#: didit-verify.php:228 +#: didit-verify.php:231 msgid "Required for API mode. Found in Didit Console → Workflows." msgstr "" -#: didit-verify.php:238 -msgid "Found in Didit Console → API & Webhooks. Stored server-side only — never sent to the browser." +#: didit-verify.php:241 +msgid "Found in Didit Console → API & Webhooks. Used by your WordPress server to create and confirm sessions. Keep it private." msgstr "" -#: didit-verify.php:259 +#: didit-verify.php:262 msgid "WordPress User ID (e.g. wp-42)" msgstr "" -#: didit-verify.php:261 +#: didit-verify.php:264 msgid "User Email (e.g. john@example.com)" msgstr "" -#: didit-verify.php:263 +#: didit-verify.php:266 msgid "Custom prefix + User ID" msgstr "" -#: didit-verify.php:265 +#: didit-verify.php:268 msgid "None — do not send vendor data" msgstr "" -#: didit-verify.php:266 +#: didit-verify.php:269 msgid "Identifies each user in the Didit dashboard. Allows session tracking and aggregation across multiple verifications." msgstr "" -#: didit-verify.php:269 +#: didit-verify.php:272 msgid "Prefix prepended to the User ID (e.g. \"mystore-\" → \"mystore-42\"). Leave empty for just the ID." msgstr "" -#: didit-verify.php:279 +#: didit-verify.php:282 msgid "URL to redirect the user after verification completes. Didit appends verificationSessionId and status as query parameters. Leave empty to disable." msgstr "" -#: didit-verify.php:295 +#: didit-verify.php:298 msgid "— Default (initiator) —" msgstr "" -#: didit-verify.php:297 +#: didit-verify.php:300 msgid "Initiator — redirect the device that started the flow" msgstr "" -#: didit-verify.php:299 +#: didit-verify.php:302 msgid "Completer — redirect the device that finishes the flow" msgstr "" -#: didit-verify.php:301 +#: didit-verify.php:304 msgid "Both — either device can trigger the callback" msgstr "" -#: didit-verify.php:302 +#: didit-verify.php:305 msgid "Determines which device handles the redirect to the callback URL after verification." msgstr "" -#: didit-verify.php:367 +#: didit-verify.php:370 msgid "Language for the verification UI shown to the user. Auto-detect uses the browser language." msgstr "" -#: didit-verify.php:380 +#: didit-verify.php:383 msgid "Modal (popup) — opens over the page" msgstr "" -#: didit-verify.php:382 +#: didit-verify.php:385 msgid "Embedded (inline) — appears where the shortcode is placed" msgstr "" -#: didit-verify.php:383 +#: didit-verify.php:386 msgid "Modal opens a centered overlay. Embedded renders the verification directly on the page where you placed [didit_verify] or the WooCommerce checkout section." msgstr "" -#: didit-verify.php:393 +#: didit-verify.php:396 msgid "Show close (X) button on the verification modal" msgstr "" -#: didit-verify.php:394 +#: didit-verify.php:397 msgid "Uncheck to force users to complete verification (no way to close the modal). Useful for mandatory verification flows." msgstr "" -#: didit-verify.php:404 +#: didit-verify.php:407 msgid "Show \"Are you sure?\" dialog when closing the modal" msgstr "" -#: didit-verify.php:405 +#: didit-verify.php:408 msgid "Prevents accidental exits. Uncheck for a frictionless experience." msgstr "" -#: didit-verify.php:415 +#: didit-verify.php:418 msgid "Automatically close the modal when verification completes" msgstr "" -#: didit-verify.php:416 +#: didit-verify.php:419 msgid "If unchecked, the modal stays open showing the result. Useful for WooCommerce checkout to return the user to the order flow quickly." msgstr "" -#: didit-verify.php:426 +#: didit-verify.php:429 msgid "Enable SDK debug logging in the browser console" msgstr "" -#: didit-verify.php:427 +#: didit-verify.php:430 msgid "Logs all postMessage events and state changes. Only enable for troubleshooting." msgstr "" -#: didit-verify.php:443 +#: didit-verify.php:446 msgid "Live preview — changes update when you modify the fields below." msgstr "" -#: didit-verify.php:469 -#: didit-verify.php:679 +#: didit-verify.php:472 +#: didit-verify.php:682 msgid "Verify your Identity" msgstr "" -#: didit-verify.php:470 +#: didit-verify.php:473 msgid "Label shown on the button before verification. Leave empty to use the default text, which follows the site language." msgstr "" -#: didit-verify.php:480 -#: didit-verify.php:684 +#: didit-verify.php:483 +#: didit-verify.php:687 msgid "Identity Verified ✓" msgstr "" -#: didit-verify.php:481 +#: didit-verify.php:484 msgid "Label shown after successful verification. Leave empty to use the default text, which follows the site language." msgstr "" -#: didit-verify.php:491 +#: didit-verify.php:494 msgid "Button background color." msgstr "" -#: didit-verify.php:501 +#: didit-verify.php:504 msgid "Button text color." msgstr "" -#: didit-verify.php:511 +#: didit-verify.php:514 msgid "Corner rounding in pixels. 0 = square, 50 = pill shape." msgstr "" -#: didit-verify.php:523 +#: didit-verify.php:526 msgid "Vertical × Horizontal padding in pixels." msgstr "" -#: didit-verify.php:533 +#: didit-verify.php:536 msgid "Button font size in pixels." msgstr "" -#: didit-verify.php:543 +#: didit-verify.php:546 msgid "Only logged-in WordPress users can create verification sessions" msgstr "" -#: didit-verify.php:544 +#: didit-verify.php:547 msgid "Strongly recommended. Prevents anonymous abuse. Uncheck only if you need guest checkout in WooCommerce." msgstr "" -#: didit-verify.php:551 -#: didit-verify.php:575 -#: didit-verify.php:599 -#: didit-verify.php:614 -#: didit-verify.php:647 -#: didit-verify.php:705 -#: didit-verify.php:720 -#: didit-verify.php:735 -#: didit-verify.php:750 +#: didit-verify.php:554 +#: didit-verify.php:578 +#: didit-verify.php:602 +#: didit-verify.php:617 +#: didit-verify.php:650 +#: didit-verify.php:708 +#: didit-verify.php:723 +#: didit-verify.php:738 +#: didit-verify.php:753 msgid "WooCommerce is not active." msgstr "" -#: didit-verify.php:563 +#: didit-verify.php:566 msgid "Off — no verification in WooCommerce" msgstr "" -#: didit-verify.php:565 +#: didit-verify.php:568 msgid "Require at checkout — order cannot be placed until verified" msgstr "" -#: didit-verify.php:567 +#: didit-verify.php:570 msgid "After purchase — low-barrier checkout, verify on the order confirmation page" msgstr "" -#: didit-verify.php:568 +#: didit-verify.php:571 msgid "After-purchase mode shows the verification box on the order confirmation page, My Account order view, and order emails." msgstr "" -#: didit-verify.php:587 +#: didit-verify.php:590 msgid "All products — verification applies to every order" msgstr "" -#: didit-verify.php:589 +#: didit-verify.php:592 msgid "Only selected products — require verification only when the cart contains a selected product" msgstr "" -#: didit-verify.php:591 +#: didit-verify.php:594 msgid "All products except selected — skip verification only when every product in the cart is selected" msgstr "" -#: didit-verify.php:592 +#: didit-verify.php:595 msgid "Select products on the product edit page: Product data → Advanced → \"Didit verification\". Mixed carts require verification whenever at least one product in the cart requires it." msgstr "" -#: didit-verify.php:606 +#: didit-verify.php:609 msgid "Hold orders (status \"On hold\") until identity verification is approved" msgstr "" -#: didit-verify.php:607 +#: didit-verify.php:610 msgid "After-purchase mode only. Orders are released to \"Processing\" automatically when the Didit webhook reports approval — configure the Webhook Secret below for this to work." msgstr "" -#: didit-verify.php:623 +#: didit-verify.php:626 msgid "Email customers who have not completed verification" msgstr "" -#: didit-verify.php:624 +#: didit-verify.php:627 msgid "Every" msgstr "" -#: didit-verify.php:626 +#: didit-verify.php:629 msgid "day(s), at most" msgstr "" -#: didit-verify.php:628 +#: didit-verify.php:631 msgid "reminder(s) per order." msgstr "" -#: didit-verify.php:629 +#: didit-verify.php:632 msgid "After-purchase mode only. Reminders stop as soon as the verification is approved or declined, or the order is cancelled." msgstr "" -#: didit-verify.php:639 +#: didit-verify.php:642 msgid "Webhook secret from the Didit Business Console (API & Webhooks). Point the webhook destination to:" msgstr "" -#: didit-verify.php:660 +#: didit-verify.php:663 msgid "Top of checkout page — verify before filling the form" msgstr "" -#: didit-verify.php:662 +#: didit-verify.php:665 msgid "After billing details — verify after entering name & address" msgstr "" -#: didit-verify.php:664 +#: didit-verify.php:667 msgid "After order notes — verify after all customer fields" msgstr "" -#: didit-verify.php:666 +#: didit-verify.php:669 msgid "Before \"Place Order\" (recommended) — last step before payment" msgstr "" -#: didit-verify.php:667 +#: didit-verify.php:670 msgid "Where the verification section appears on the checkout page." msgstr "" -#: didit-verify.php:689 -#: didit-verify.php:712 +#: didit-verify.php:692 +#: didit-verify.php:715 msgid "Identity Verification" msgstr "" -#: didit-verify.php:694 -#: didit-verify.php:727 +#: didit-verify.php:697 +#: didit-verify.php:730 msgid "Please verify your identity before placing your order." msgstr "" -#: didit-verify.php:699 -#: didit-verify.php:742 +#: didit-verify.php:702 +#: didit-verify.php:745 msgid "Please verify your identity to complete your order." msgstr "" -#: didit-verify.php:713 +#: didit-verify.php:716 msgid "Heading of the verification section at checkout and after purchase. Leave empty to use the default text, which follows the site language." msgstr "" -#: didit-verify.php:728 +#: didit-verify.php:731 msgid "Message shown in the verification section on the checkout page. Leave empty to use the default text, which follows the site language." msgstr "" -#: didit-verify.php:743 +#: didit-verify.php:746 msgid "Message shown in the verification section after purchase (order confirmation page, My Account, emails). Leave empty to use the default text, which follows the site language." msgstr "" -#: didit-verify.php:757 +#: didit-verify.php:760 msgid "Auto-send checkout billing data as expected_details & contact_details" msgstr "" -#: didit-verify.php:758 +#: didit-verify.php:761 msgid "Sends name, email, phone, address, and country from the checkout form to Didit for pre-filling and cross-checking." msgstr "" -#: didit-verify.php:769 -msgid "Didit Identity Verification" +#: didit-verify.php:775 +msgid "Identity verification" +msgstr "" + +#: didit-verify.php:776 +msgid "Connect your workflow, customize verification, and manage customer access." msgstr "" #: didit-verify.php:778 +msgid "Documentation" +msgstr "" + +#: didit-verify.php:782 +msgid "Verification results" +msgstr "" + +#: didit-verify.php:783 +msgid "See customer status in Users and session decisions on WooCommerce orders. Open Didit Console for the full verification report." +msgstr "" + +#: didit-verify.php:785 +msgid "View users" +msgstr "" + +#: didit-verify.php:786 +msgid "Open Didit Console" +msgstr "" + +#: didit-verify.php:807 msgid "Shortcodes" msgstr "" -#: didit-verify.php:781 +#: didit-verify.php:810 msgid "Verification button styled with the settings above. Place on any page or post." msgstr "" -#: didit-verify.php:785 +#: didit-verify.php:814 msgid "Override the button text for a specific page." msgstr "" -#: didit-verify.php:787 +#: didit-verify.php:816 msgid "Status & Content Gating" msgstr "" -#: didit-verify.php:790 +#: didit-verify.php:819 msgid "Shows \"Identity Verified\" or \"Not Verified\" for the logged-in user." msgstr "" -#: didit-verify.php:794 +#: didit-verify.php:823 msgid "Content inside is only visible to verified users. Others see a verification prompt." msgstr "" -#: didit-verify.php:825 +#: didit-verify.php:855 msgid "Invalid security token." msgstr "" -#: didit-verify.php:834 +#: didit-verify.php:864 msgid "You must be logged in to start verification." msgstr "" -#: didit-verify.php:868 +#: didit-verify.php:898 msgid "Didit API credentials are not configured." msgstr "" -#: didit-verify.php:989 +#: didit-verify.php:1019 msgid "Didit API error" msgstr "" -#: didit-verify.php:999 +#: didit-verify.php:1029 msgid "No verification URL returned." msgstr "" #. translators: %s: Didit session id. -#: didit-verify.php:1026 +#: didit-verify.php:1056 #, php-format msgid "Didit: verification session created (%s)." msgstr "" -#: didit-verify.php:1107 +#: didit-verify.php:1137 msgid "Start a new verification from this page." msgstr "" -#: didit-verify.php:1111 +#: didit-verify.php:1141 msgid "API Session mode is required to confirm verification." msgstr "" -#: didit-verify.php:1118 -#: didit-verify.php:1123 +#: didit-verify.php:1148 +#: didit-verify.php:1153 msgid "Unable to confirm verification. Please try again." msgstr "" -#: didit-verify.php:1348 +#: didit-verify.php:1378 msgid "Webhook secret is not configured." msgstr "" -#: didit-verify.php:1354 -#: didit-verify.php:1394 +#: didit-verify.php:1384 +#: didit-verify.php:1424 msgid "Invalid webhook payload." msgstr "" -#: didit-verify.php:1368 +#: didit-verify.php:1398 msgid "Missing or stale webhook signature." msgstr "" -#: didit-verify.php:1384 +#: didit-verify.php:1414 msgid "Webhook signature mismatch." msgstr "" -#: didit-verify.php:1427 +#: didit-verify.php:1457 msgid "Too many verification requests. Please try again later." msgstr "" #. translators: 1: verification status, 2: source (browser/webhook). -#: didit-verify.php:1781 +#: didit-verify.php:1811 #, php-format msgid "Didit: verification status \"%1$s\" (via %2$s)." msgstr "" -#: didit-verify.php:1790 +#: didit-verify.php:1820 msgid "Didit: identity verified - order released." msgstr "" -#: didit-verify.php:1906 +#: didit-verify.php:1936 msgid "Creating session…" msgstr "" -#: didit-verify.php:1907 +#: didit-verify.php:1937 msgid "Your verification is being reviewed. Check again shortly." msgstr "" -#: didit-verify.php:1908 +#: didit-verify.php:1938 msgid "Confirming verification…" msgstr "" -#: didit-verify.php:1909 +#: didit-verify.php:1939 msgid "Check status" msgstr "" -#: didit-verify.php:1910 +#: didit-verify.php:1940 msgid "Identity verified. You can continue." msgstr "" -#: didit-verify.php:1911 +#: didit-verify.php:1941 msgid "Verification declined. Please try again." msgstr "" -#: didit-verify.php:1912 +#: didit-verify.php:1942 msgid "Verification expired. Please start again." msgstr "" -#: didit-verify.php:1913 +#: didit-verify.php:1943 msgid "Verification submitted. Your result is available from the service provider." msgstr "" -#: didit-verify.php:1914 +#: didit-verify.php:1944 msgid "Verification error:" msgstr "" -#: didit-verify.php:1915 +#: didit-verify.php:1945 msgid "No verification URL returned" msgstr "" -#: didit-verify.php:1983 +#: didit-verify.php:2013 msgid "Identity Verified" msgstr "" -#: didit-verify.php:1984 +#: didit-verify.php:2014 msgid "Not Verified" msgstr "" -#: didit-verify.php:1985 +#: didit-verify.php:2015 msgid "Verification Declined" msgstr "" -#: didit-verify.php:1986 +#: didit-verify.php:2016 msgid "Verification In Review" msgstr "" -#: didit-verify.php:1987 +#: didit-verify.php:2017 msgid "Please log in" msgstr "" -#: didit-verify.php:2012 +#: didit-verify.php:2042 msgid "Please verify your identity to access this content." msgstr "" -#: didit-verify.php:2018 +#: didit-verify.php:2048 msgid "Please log in to access this content." msgstr "" -#: didit-verify.php:2030 +#: didit-verify.php:2060 msgid "Your identity verification is being reviewed. Please check back shortly." msgstr "" #. translators: %s: date when user was verified -#: didit-verify.php:2057 +#: didit-verify.php:2087 #, php-format msgid "Verified on %s" msgstr "" #. translators: %s: date when user was verified -#: didit-verify.php:2057 +#: didit-verify.php:2087 msgid "Approved" msgstr "" -#: didit-verify.php:2061 +#. translators: %s: date when the verification was declined +#: didit-verify.php:2092 #, php-format msgid "Declined on %s" msgstr "" -#: didit-verify.php:2061 +#. translators: %s: date when the verification was declined +#: didit-verify.php:2092 msgid "Declined" msgstr "" -#: didit-verify.php:2065 +#. translators: %s: date when the verification status was last updated +#: didit-verify.php:2097 #, php-format -msgid "In review since %s" -msgstr "" - -#: didit-verify.php:2065 -msgid "In Review" +msgid "Updated on %s" msgstr "" -#: didit-verify.php:2069 +#: didit-verify.php:2107 msgid "Not verified" msgstr "" -#: didit-verify.php:2116 +#: didit-verify.php:2155 msgid "Didit verification" msgstr "" -#: didit-verify.php:2117 +#: didit-verify.php:2156 msgid "Select this product for the \"Only selected products\" / \"All products except selected\" scope in the Didit Verify settings." msgstr "" -#: didit-verify.php:2170 -#: didit-verify.php:2484 +#: didit-verify.php:2209 +#: didit-verify.php:2523 msgid "Please complete identity verification before placing your order." msgstr "" -#: didit-verify.php:2193 +#: didit-verify.php:2232 msgid "Didit Verification:" msgstr "" -#: didit-verify.php:2251 +#: didit-verify.php:2290 msgid "Your identity has been verified. Thank you!" msgstr "" -#: didit-verify.php:2262 +#: didit-verify.php:2301 msgid "Your verification is being reviewed. No further action is needed." msgstr "" -#: didit-verify.php:2267 +#: didit-verify.php:2306 msgid "Your previous verification attempt was declined. Please try again." msgstr "" -#: didit-verify.php:2322 +#: didit-verify.php:2361 msgid "Didit: order held until identity verification is approved." msgstr "" -#: didit-verify.php:2341 -#: didit-verify.php:2350 +#: didit-verify.php:2380 +#: didit-verify.php:2389 msgid "Please verify your identity to complete your order:" msgstr "" -#: didit-verify.php:2349 +#: didit-verify.php:2388 msgid "Identity verification required" msgstr "" -#: didit-verify.php:2352 +#: didit-verify.php:2391 msgid "Verify your identity" msgstr "" #. translators: %s: order number. -#: didit-verify.php:2392 +#: didit-verify.php:2431 #, php-format msgid "Action required: verify your identity for order #%s" msgstr "" -#: didit-verify.php:2397 +#: didit-verify.php:2436 msgid "Your order is waiting for identity verification. It only takes a couple of minutes." msgstr "" -#: didit-verify.php:2399 +#: didit-verify.php:2438 msgid "Verify your identity now" msgstr "" #. translators: 1: reminder number, 2: max reminders, 3: recipient email. -#: didit-verify.php:2408 +#: didit-verify.php:2447 #, php-format msgid "Didit: verification reminder %1$d of %2$d sent to %3$s." msgstr "" diff --git a/readme.txt b/readme.txt index 1bd333b..f6c55cb 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: identity verification, kyc, woocommerce, age verification, id check Requires at least: 6.0 Tested up to: 7.1 Requires PHP: 7.4 -Stable tag: 0.3.2 +Stable tag: 0.3.3 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -210,6 +210,11 @@ Yes. Go to **Settings → Didit Verify → Display Options → Display Mode**. C == Changelog == += 0.3.3 = +* Add Didit branding and grouped cards to the WordPress settings page. +* Show readable verification status badges in Users and WooCommerce order details. +* Add direct links to user results, Didit Console, and the integration guide. + = 0.3.2 = * Confirm verification decisions on the server before granting content or checkout access. * Bind sessions to their originating visitor or order and reject unrelated session IDs. @@ -285,6 +290,9 @@ Yes. Go to **Settings → Didit Verify → Display Options → Display Mode**. C == Upgrade Notice == += 0.3.3 = +Branded administration and clearer verification results. Includes the server-confirmed approval protections introduced in 0.3.2. + = 0.3.2 = Security update: use API Session mode for protected content and checkout. Existing users must verify again. Browser-reported approvals from earlier releases no longer grant access.