{"id":259411,"date":"2025-11-15T13:06:15","date_gmt":"2025-11-15T13:06:15","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/customer-email-otp-verification-for-woocommerce\/"},"modified":"2026-06-26T16:09:28","modified_gmt":"2026-06-26T16:09:28","slug":"naimur-email-otp-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/haz.wordpress.org\/plugins\/naimur-email-otp-for-woocommerce\/","author":23394855,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.0","stable_tag":"2.1.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Naimur Email OTP Verification for WooCommerce","header_author":"Naimur Rahman Nahid","header_description":"Verify WooCommerce customer emails using a 6-digit OTP before account creation. Includes optional Google reCAPTCHA, email logs, activity tracking, and a responsive popup design.","assets_banners_color":"53aabe","last_updated":"2026-06-26 16:09:28","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/naimurrahmannahid","header_plugin_uri":"https:\/\/naimurrahmannahid.com\/naimur-otp-plugin\/","header_author_uri":"https:\/\/naimurrahmannahid.com\/","rating":5,"author_block_rating":0,"active_installs":20,"downloads":516,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.1.6":{"tag":"1.1.6","author":"naimurrahmannahid","date":"2026-06-26 16:12:22"},"2.1.0":{"tag":"2.1.0","author":"naimurrahmannahid","date":"2026-06-26 16:09:28"}},"upgrade_notice":{"2.1.0":"<p>Major security and performance update! Includes Real IP tracking, device detection, and enhanced anti-spam protection. Please deactivate and reactivate the plugin to initialize new database tables.<\/p>","1.2.0":"<p>Revamped UI, added Cloudflare Turnstile, and optimized database tables.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3396242,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3396241,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.6","2.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3396241,"resolution":"1","location":"assets","locale":"","width":1919,"height":1087},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3396241,"resolution":"2","location":"assets","locale":"","width":1911,"height":1270},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3396241,"resolution":"3","location":"assets","locale":"","width":1905,"height":958},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3396241,"resolution":"4","location":"assets","locale":"","width":1920,"height":958},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3396241,"resolution":"5","location":"assets","locale":"","width":1905,"height":958}},"screenshots":{"1":"Settings","2":"Email Template","3":"Email Verification Logs","4":"Template preview","5":"Popup"}},"plugin_section":[],"plugin_tags":[5593,18971,9210,286],"plugin_category":[45,54,58],"plugin_contributors":[250731],"plugin_business_model":[],"class_list":["post-259411","plugin","type-plugin","status-publish","hentry","plugin_tags-customer","plugin_tags-email-verification","plugin_tags-otp","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-security-and-spam-protection","plugin_category-user-management","plugin_contributors-naimurrahmannahid","plugin_committers-naimurrahmannahid"],"banners":{"banner":"https:\/\/ps.w.org\/naimur-email-otp-for-woocommerce\/assets\/banner-772x250.png?rev=3396241","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/naimur-email-otp-for-woocommerce\/assets\/icon-256x256.png?rev=3396242","icon_2x":"https:\/\/ps.w.org\/naimur-email-otp-for-woocommerce\/assets\/icon-256x256.png?rev=3396242","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/naimur-email-otp-for-woocommerce\/assets\/screenshot-1.png?rev=3396241","caption":"Settings"},{"src":"https:\/\/ps.w.org\/naimur-email-otp-for-woocommerce\/assets\/screenshot-2.png?rev=3396241","caption":"Email Template"},{"src":"https:\/\/ps.w.org\/naimur-email-otp-for-woocommerce\/assets\/screenshot-3.png?rev=3396241","caption":"Email Verification Logs"},{"src":"https:\/\/ps.w.org\/naimur-email-otp-for-woocommerce\/assets\/screenshot-4.png?rev=3396241","caption":"Template preview"},{"src":"https:\/\/ps.w.org\/naimur-email-otp-for-woocommerce\/assets\/screenshot-5.png?rev=3396241","caption":"Popup"}],"raw_content":"<!--section=description-->\n<p><strong>Naimur Email OTP Verification for WooCommerce<\/strong> verifies customer email ownership using a One Time Password (OTP) before account creation. Optional Google reCAPTCHA, Cloudflare Turnstile, email logs, activity tracking, and a responsive OTP modal are included.<\/p>\n\n<p>This plugin verifies users through a unique OTP sent to their email during:\n- Login\n- Registration<\/p>\n\n<h3>Documentation<\/h3>\n\n<p>Full documentation for setup, usage, and customization is available here:<br \/>\n\ud83d\udc49 <strong>https:\/\/naimurrahmannahid.com\/naimur-otp-plugin\/<\/strong><\/p>\n\n<h3>Video Tutorial<\/h3>\n\n<p>[Youtube https:\/\/youtu.be\/AehMWNLxkVk?si=seExgoLRqORq1R48]<\/p>\n\n<h3>\ud83d\udd25 Key Features<\/h3>\n\n<ul>\n<li>Email-Based OTP Verification  <\/li>\n<li>Instant OTP Delivery  <\/li>\n<li>OTP for Login, Register &amp; Checkout  <\/li>\n<li>Smart OTP Input UI with Paste Event  <\/li>\n<li>Custom Email Templates  <\/li>\n<li>Secure &amp; Anti-Spam Protection  <\/li>\n<\/ul>\n\n<h3>Additional Features<\/h3>\n\n<ul>\n<li>OTP expiry control  <\/li>\n<li>Resend button with countdown  <\/li>\n<li>AJAX-based OTP submit  <\/li>\n<li>Google reCAPTCHA v2 &amp; Cloudflare Turnstile support  <\/li>\n<li>Custom error\/success messages  <\/li>\n<li>Full Name &amp; Confirm Password fields for Registration  <\/li>\n<li>Modern, fully responsive UI override for default My Account page  <\/li>\n<li>Database-optimized activity logging (<code>wp_ceovw_logs<\/code>)  <\/li>\n<li>Translation-ready  <\/li>\n<li>Developer-friendly hooks<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin can optionally integrate with Google reCAPTCHA and Cloudflare Turnstile to protect the WooCommerce login and registration forms from automated abuse and spam.<\/p>\n\n<p><strong>Google reCAPTCHA:<\/strong>\nWhen reCAPTCHA is enabled in the plugin settings and you configure a site key and secret key, the following data is sent to Google:\n* The reCAPTCHA response token generated in the browser\n* The IP address of the user\n* Additional browser and usage information collected by the reCAPTCHA widget<\/p>\n\n<p>Service Provider:\n* Google reCAPTCHA \u2013 Provided by Google LLC\n* Terms of Service: https:\/\/www.google.com\/recaptcha\/terms\/\n* Privacy Policy: https:\/\/policies.google.com\/privacy\/<\/p>\n\n<p><strong>Cloudflare Turnstile:<\/strong>\nWhen Turnstile is enabled, a token is generated to ensure the request is made by a human user. Similar to reCAPTCHA, IP and browser telemetry may be processed by Cloudflare to validate the session.<\/p>\n\n<p>Service provider:\n* Cloudflare Turnstile \u2013 provided by Cloudflare, Inc.\n* Terms of Service: https:\/\/www.cloudflare.com\/website-terms\/\n* Privacy Policy: https:\/\/www.cloudflare.com\/privacypolicy\/<\/p>\n\n<h3>Source code<\/h3>\n\n<p>The JavaScript file <code>assets\/js\/main.js<\/code> is a compiled\/optimized build used in production.<\/p>\n\n<p>A human-readable source version of this script is bundled with the plugin under:<\/p>\n\n<ul>\n<li><code>assets\/src\/js\/main.js<\/code><\/li>\n<\/ul>\n\n<p>This file contains the original source code that can be viewed, studied and modified by developers.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20support%20custom%20email%20templates%3F\"><h3>Does the plugin support custom email templates?<\/h3><\/dt>\n<dd><p>Yes \u2014 you can fully customize the HTML email template including OTP placeholder, colors, subject, and branding.<\/p><\/dd>\n<dt id=\"can%20i%20enable%20otp%20only%20for%20login%20or%20only%20for%20registration%3F\"><h3>Can I enable OTP only for Login or only for Registration?<\/h3><\/dt>\n<dd><p>Yes \u2014 each module can be enabled or disabled individually from the plugin settings.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20smtp%3F\"><h3>Does this plugin support SMTP?<\/h3><\/dt>\n<dd><p>Yes \u2014 works with all SMTP plugins (WP Mail SMTP, FluentSMTP, Post SMTP, etc.)<\/p><\/dd>\n<dt id=\"is%20recaptcha%20supported%3F\"><h3>Is reCAPTCHA supported?<\/h3><\/dt>\n<dd><p>Yes \u2014 Google reCAPTCHA v2 is supported to prevent bot-generated OTP requests.<\/p><\/dd>\n<dt id=\"is%20cloudflare%20turnstile%20supported%3F\"><h3>Is Cloudflare Turnstile supported?<\/h3><\/dt>\n<dd><p>Yes \u2014 added in version 1.2.0 as an alternative modern captcha solution.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20the%20site%3F\"><h3>Does it slow down the site?<\/h3><\/dt>\n<dd><p>No \u2014 the plugin is lightweight and optimized for speed, including a custom database table for logs.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Added: Advanced Device &amp; OS Detection (Mobile, PC, Mac) for activity logging.<\/li>\n<li>Added: Enterprise-grade Real IP tracking (works behind Cloudflare\/Proxies).<\/li>\n<li>Added: Performance-optimized database cleanup via WP Cron to keep logs clean and fast.<\/li>\n<li>Added: Enhanced security with brute-force protection (IP-based rate limiting).<\/li>\n<li>Tweak: Completely revamped AJAX engine for zero-buffering, smooth OTP verification.<\/li>\n<li>Tweak: Strict DOM Isolation for CSS to prevent theme\/page builder conflicts.<\/li>\n<li>Fix: Resolved \"An error occurred\" AJAX issue by ensuring clean JSON responses.<\/li>\n<li>Fix: Fixed timezone discrepancies for OTP expiry logic.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added: Full Name &amp; Confirm Password fields to the registration form.<\/li>\n<li>Added: Cloudflare Turnstile Captcha support alongside Google reCAPTCHA.<\/li>\n<li>Added: Custom database table (<code>wp_ceovw_logs<\/code>) for optimized activity tracking.<\/li>\n<li>Added: Smart OTP Paste event in the frontend modal.<\/li>\n<li>Tweak: Fully responsive, 100% full-width modern CSS design for all devices.<\/li>\n<li>Security: Implemented absolute sanitization and strict nonces across all AJAX calls.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Text domain aligned with slug <code>naimur-email-otp-for-woocommerce<\/code>.<\/li>\n<li>Added nonce checks, escaping, sanitization and translators comments.<\/li>\n<li>reCAPTCHA mobile token capture improvements and safe debug logging.<\/li>\n<\/ul>","raw_excerpt":"Short Description: Verify WooCommerce customer email addresses with a 6-digit OTP before account creation for secure and spam-free registrations.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/259411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=259411"}],"author":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/naimurrahmannahid"}],"wp:attachment":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=259411"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=259411"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=259411"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=259411"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=259411"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=259411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}