{"id":231578,"date":"2025-06-26T05:04:51","date_gmt":"2025-06-26T05:04:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/msg91-otp-for-woocommerce\/"},"modified":"2026-03-27T08:10:37","modified_gmt":"2026-03-27T08:10:37","slug":"happy-coders-otp-login","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/happy-coders-otp-login\/","author":18245072,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.7","stable_tag":"2.7","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Happy Coders OTP Login for WooCommerce","header_author":"Happy Coders","header_description":"Seamless OTP-based login for WordPress\/WooCommerce using MSG91. Supports mobile OTP login, and automatic SMS alerts for user registration, order placed, order shipped, order completed, and cart reminder via cronjob.","assets_banners_color":"e6f8ff","last_updated":"2026-03-27 08:10:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.happycoders.in\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":1094,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5":{"tag":"1.5","author":"happycoders","date":"2025-06-26 05:21:07"},"1.6":{"tag":"1.6","author":"happycoders","date":"2025-06-26 06:32:38"},"1.7":{"tag":"1.7","author":"happycoders","date":"2025-07-16 08:11:23"},"1.8":{"tag":"1.8","author":"happycoders","date":"2025-07-21 10:45:13"},"1.9":{"tag":"1.9","author":"happycoders","date":"2025-07-25 12:06:24"},"2.0":{"tag":"2.0","author":"kombiahrk","date":"2025-09-02 12:14:30"},"2.1":{"tag":"2.1","author":"kombiahrk","date":"2025-09-03 04:19:42"},"2.2":{"tag":"2.2","author":"kombiahrk","date":"2025-12-29 13:48:55"},"2.3":{"tag":"2.3","author":"kombiahrk","date":"2025-12-31 08:05:25"},"2.4":{"tag":"2.4","author":"kombiahrk","date":"2026-02-09 10:43:15"},"2.5":{"tag":"2.5","author":"kombiahrk","date":"2026-02-09 11:01:13"},"2.6":{"tag":"2.6","author":"kombiahrk","date":"2026-03-11 12:18:37"},"2.7":{"tag":"2.7","author":"kombiahrk","date":"2026-03-27 08:10:37"}},"upgrade_notice":{"2.7":"<p>This version fixes blocked numbers table queries for sites using custom WordPress database prefixes.<\/p>","2.6":"<p>Adds default Email OTP subject\/body in settings when fields are empty.<\/p>","2.5":"<p>Adds customizable Email OTP templates, image support, and preview tools.<\/p>","2.4":"<p>This version adds Email OTP login. Review your OTP settings after updating.<\/p>","2.3":"<p>This version adds the &#039;otp_length&#039; parameter to the MSG91 API call. If you have customized the OTP length, ensure your settings are correct.<\/p>","2.2":"<p>This version introduces the ability to configure OTP length dynamically (4 or 6 digits). Please review your OTP settings after updating.<\/p>","2.1":"<p>This version introduces customizable transactional SMS message templates with dynamic variables. Your existing SMS notes will now be used as message templates. Please review your settings after updating.<\/p>","2.0":"<p>This version includes important fixes for saving SMS settings and migrates your old settings to a new format. Please update to ensure all features work correctly.<\/p>","1.9":"<p>General bug fixes and performance improvements.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":7},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3334046,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3334150,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3334150,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5","1.6","1.7","1.8","1.9","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3322300,"resolution":"1","location":"assets","locale":""},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3456963,"resolution":"10","location":"assets","locale":""},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3456963,"resolution":"11","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3322300,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3322300,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3355027,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3456963,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3456963,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3456963,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3456963,"resolution":"8","location":"assets","locale":""},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3456963,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Admin settings screen (1\/5)","2":"Admin settings screen (2\/5)","3":"Admin settings screen (3\/5)","4":"Admin settings screen (4\/5)","5":"Admin settings screen (5\/5)","6":"OTP popup login","7":"OTP full-screen login","8":"OTP verification screen","9":"Email OTP Verfication Screen","10":"Email OTP Verfication Screen","11":"Email OTP Verfication Screen"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[209326,163207,9210,244988,286],"plugin_category":[45],"plugin_contributors":[244121,244484,244122,244123,244125],"plugin_business_model":[],"class_list":["post-231578","plugin","type-plugin","status-publish","hentry","plugin_tags-email-otp","plugin_tags-msg91","plugin_tags-otp","plugin_tags-whatsapp-otp","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-happycoders","plugin_contributors-imgopi2002","plugin_contributors-kombiahrk","plugin_contributors-muthupandi2002","plugin_contributors-sureshkumar22","plugin_committers-happycoders","plugin_committers-imgopi2002","plugin_committers-kombiahrk","plugin_committers-muthupandi2002","plugin_committers-sureshkumar22","plugin_support_reps-happycoders","plugin_support_reps-kombiahrk","plugin_support_reps-muthupandi2002"],"banners":{"banner":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/banner-772x250.png?rev=3334150","banner_2x":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/banner-1544x500.png?rev=3334150","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/icon-256x256.png?rev=3334046","icon_2x":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/icon-256x256.png?rev=3334046","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-1.png?rev=3322300","caption":"Admin settings screen (1\/5)"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-2.png?rev=3322300","caption":"Admin settings screen (2\/5)"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-3.png?rev=3322300","caption":"Admin settings screen (3\/5)"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-4.png?rev=3355027","caption":"Admin settings screen (4\/5)"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-5.png?rev=3456963","caption":"Admin settings screen (5\/5)"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-6.png?rev=3456963","caption":"OTP popup login"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-7.png?rev=3456963","caption":"OTP full-screen login"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-8.png?rev=3456963","caption":"OTP verification screen"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-9.png?rev=3456963","caption":"Email OTP Verfication Screen"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-10.png?rev=3456963","caption":"Email OTP Verfication Screen"},{"src":"https:\/\/ps.w.org\/happy-coders-otp-login\/assets\/screenshot-11.png?rev=3456963","caption":"Email OTP Verfication Screen"}],"raw_content":"<!--section=description-->\n<p>Happy Coders OTP Login is a simple, secure, and customizable OTP login plugin for WordPress and WooCommerce sites. It enables users to log in using their mobile number via one-time password (OTP) verification, using the MSG91 SMS API, and also supports email-based OTP login.<\/p>\n\n<p>The plugin supports full-screen and popup login forms, integrates smoothly with WooCommerce, and improves user experience by replacing traditional email\/password logins with secure phone-based authentication.<\/p>\n\n<p>Now, you can fully customize your transactional SMS messages using dynamic variables like <code>##customer_name##<\/code>, <code>##order_id##<\/code>, and more, directly from the plugin settings.<\/p>\n\n<p><strong>Watch our <a href=\"https:\/\/www.youtube.com\/watch?v=JTToziAf5gM\">quick video tutorial<\/a> to see how easy it is to set up!<\/strong><\/p>\n\n<p>[youtube https:\/\/www.youtube.com\/watch?v=JTToziAf5gM]<\/p>\n\n<h3>MSG91 Integration<\/h3>\n\n<p>This plugin uses the MSG91 SMS and WhatsApp gateway (https:\/\/msg91.com) to send and verify OTPs, and also to send order-related notifications. You must have a valid MSG91 account and approved SMS\/WhatsApp templates.  You can <a href=\"https:\/\/msg91.com\/signup?utm_source=happycoders\">sign up here<\/a><\/p>\n\n<p>Visit <a href=\"https:\/\/msg91.com\/legal\/terms\">MSG91's Terms of Service<\/a> and <a href=\"https:\/\/msg91.com\/legal\/privacy\">Privacy Policy<\/a> for more details about how they handle data<\/p>\n\n<h3>Data Handling and Privacy<\/h3>\n\n<ul>\n<li>Only the <strong>phone number<\/strong> is sent to MSG91 for OTP and transactional SMS\/WhatsApp delivery.<\/li>\n<li>No personal or sensitive user data is stored or tracked by this plugin.<\/li>\n<li>Plugin does <strong>not collect analytics<\/strong> or track users without consent.<\/li>\n<li>All configurable from the plugin settings page.<\/li>\n<\/ul>\n\n<p>\ud83d\udd25 <strong>Features:<\/strong>\n- Full-screen or popup OTP login form\n- WooCommerce login compatibility\n- OTP verification via MSG91 (SMS &amp; WhatsApp)\n- Email OTP login option\n- WhatsApp Send OTP support\n- Automatic SMS\/WhatsApp alerts for:\n  - New user registration\n  - Order placed\n  - Order shipped\n  - Order completed\n  - Cart cronjob (abandoned cart reminders)\n- Customizable resend timer\n- Country code and flag selection\n- Shortcodes for embedding login anywhere\n- Admin panel for MSG91 and plugin settings\n- Customizable transactional SMS templates with dynamic variables (e.g., <code>##customer_name##<\/code>, <code>##order_id##<\/code>).\n- Dynamic OTP length (4 or 6 digits).<\/p>\n\n<p>\ud83c\udfaf <strong>Shortcodes:<\/strong>\n- <code>[msg91_otp_form]<\/code> \u2013 Display full-screen OTP login form anywhere (pages, posts, widgets).<\/p>\n\n<p>\ud83d\udd27 <strong>Admin Settings:<\/strong>\n- MSG91 Auth Key, Sender ID, Template IDs\n- Enable\/disable WhatsApp OTP option\n- Country code options\n- OTP resend timer settings\n- Button\/text color customization\n- Post-login redirect URL\n- OTP send limit per user\/day\n- Enable\/disable specific SMS\/WhatsApp features (registration, order, cart)\n- Customizable SMS message templates with dynamic variables.<\/p>\n\n<h3>Configuration<\/h3>\n\n<ol>\n<li><strong>Get an MSG91 Account:<\/strong> This plugin requires an MSG91 account. If you don't have one, you can <strong><a href=\"https:\/\/msg91.com\/signup?utm_source=happycoders\">sign up here<\/a><\/strong>.<\/li>\n<li><strong>Enter Credentials:<\/strong> In the plugin settings, enter your MSG91 Auth Key, Sender ID, and DLT-approved Template IDs.<\/li>\n<li><strong>Display the Form:<\/strong> Use the shortcode <code>[msg91_otp_form]<\/code> on any page or add the CSS class <code>otp-popup-trigger<\/code> to a button\/link to show the login form.<\/li>\n<\/ol>\n\n<h3>Support<\/h3>\n\n<p>We are committed to helping you succeed. To get you the fastest and most accurate help, please direct your query to the correct team.<\/p>\n\n<h3>For Plugin Issues &amp; Configuration (Happy Coders Support)<\/h3>\n\n<p>If you need help with installing the plugin, configuring its settings in WordPress, encounter a bug, or have a feature request for the plugin itself, please use our official support channel.\n<strong>Primary Support Channel:<\/strong> <a href=\"https:\/\/wordpress.org\/support\/plugin\/happy-coders-otp-login\/\">WordPress.org Support Forum<\/a><\/p>\n\n<h3>For MSG91 Service &amp; Delivery Issues (MSG91 Support)<\/h3>\n\n<p>If your question is about the MSG91 service itself\u2014such as your account, API key, billing, Sender ID approval, DLT templates, or SMS\/WhatsApp delivery reports\u2014you must contact the MSG91 support team directly. They are the experts on their platform and can assist you with all service-related inquiries.\n<strong>Contact MSG91 Support:<\/strong> <a href=\"https:\/\/msg91.com\/in\/contact-us\">Visit the MSG91 Contact Page<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to the <code>\/wp-content\/plugins\/happy-coders-otp-login<\/code> directory.<\/li>\n<li>Activate it from the \u2018Plugins\u2019 menu in WordPress.<\/li>\n<li>Go to <strong>MSG91 OTP &amp; SMS<\/strong> in the admin menu to configure the settings.<\/li>\n<li>Enter your MSG91 credentials and setup options.<\/li>\n<li>Add shortcodes to posts\/pages\/widgets for login.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20msg91%20account%3F\"><h3>Do I need an MSG91 account?<\/h3><\/dt>\n<dd><p>Yes, this plugin is a connector for the MSG91 service. You must have an active MSG91 account. <strong><a href=\"https:\/\/msg91.com\/signup?utm_source=happycoders\">Sign up for MSG91 here<\/a><\/strong>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20display%20the%20login%20form%3F\"><h3>How do I display the login form?<\/h3><\/dt>\n<dd><p>You have two easy options:\n1.  <strong>Shortcode:<\/strong> Place <code>[msg91_otp_form]<\/code> on any page, post, or text widget.\n2.  <strong>Popup\/Modal:<\/strong> Add the CSS class <code>otp-popup-trigger<\/code> to any button or link. Example: <code>&lt;a href=\"#\" class=\"otp-popup-trigger\"&gt;Login here&lt;\/a&gt;<\/code>.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20woocommerce%3F\"><h3>Is this compatible with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, it works with WooCommerce login and sends order status notifications via SMS\/WhatsApp.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20certain%20sms%20notifications%3F\"><h3>Can I disable certain SMS notifications?<\/h3><\/dt>\n<dd><p>Yes. In the \"Transactional SMS Settings\" tab, each notification type (new order, shipped, etc.) can be individually enabled or disabled with a simple toggle.<\/p><\/dd>\n<dt id=\"how%20does%20email%20otp%20work%3F\"><h3>How does Email OTP work?<\/h3><\/dt>\n<dd><p>Users must first register using Mobile OTP. On the first login after registration, they must verify their email address with an Email OTP. After this one-time email verification, they can use Email OTP for future logins.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.7<\/h4>\n\n<ul>\n<li>Fix: Updated blocked numbers table queries to use the active WordPress database prefix instead of hardcoded <code>wp_hcotp_blocked_numbers<\/code>.<\/li>\n<\/ul>\n\n<h4>2.6<\/h4>\n\n<ul>\n<li>Tweak: Added default Email OTP subject\/body in settings when fields are empty.<\/li>\n<\/ul>\n\n<h4>2.5<\/h4>\n\n<ul>\n<li>Feature: Added customizable HTML email templates for Email OTP messages.<\/li>\n<li>Feature: Added header\/footer image support and preview for Email OTP templates.<\/li>\n<li>Tweak: Improved Email OTP settings UI and template controls.<\/li>\n<\/ul>\n\n<h4>2.4<\/h4>\n\n<ul>\n<li>Feature: Added Email OTP login option.<\/li>\n<li>Tweak: Updated plugin version to 2.4.<\/li>\n<\/ul>\n\n<h4>2.3<\/h4>\n\n<ul>\n<li>Feature: Added 'otp_length' parameter to the MSG91 API call for dynamic OTP length.<\/li>\n<li>Tweak: Updated plugin version to 2.3.<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<ul>\n<li>Feature: Added setting to configure OTP length dynamically (4 or 6 digits).<\/li>\n<li>Tweak: Updated plugin version to 2.2.<\/li>\n<li>Fix: Minor bug fixes and improvements.<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>Feature: Introduced customizable transactional SMS message templates with dynamic variable support (e.g., ##customer_name##, ##order_id##).<\/li>\n<li>Tweak: Enhanced settings page to allow direct input of SMS message templates using descriptive variables.<\/li>\n<li>Fix: Ensured backward compatibility for existing SMS notes by repurposing the field for message templates.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Fix: Corrected an issue where SMS settings were not being saved properly.<\/li>\n<li>Feature: Added a migration function to move old settings to a new format.<\/li>\n<\/ul>\n\n<h4>1.9<\/h4>\n\n<ul>\n<li>Fix: General bug fixes and performance improvements.<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Fix: General bug fixes and performance improvements.<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Feature: Added support for sending OTPs via WhatsApp.<\/li>\n<li>Tweak: Improved UI and clarity on the settings pages.<\/li>\n<li>Fix: General bug fixes and performance improvements.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Fix: Minor bug fixes and overall improvements for better performance and stability.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Feature: Added automated SMS notifications for New User Registration, Order Placed, Order Shipped, Order Completed, and Abandoned Cart.<\/li>\n<li>Tweak: Enhanced admin settings UI for managing new transactional SMS features.<\/li>\n<li>Fix: Minor bug fixes and improvements.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release with OTP login features (full-screen and popup) and core MSG91 integration.<\/li>\n<\/ul>","raw_excerpt":"Secure OTP login for WordPress &amp; WooCommerce using SMS, WhatsApp, and Email. Send automated order alerts with the MSG91 API. Be passwordless!","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/231578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=231578"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/happycoders"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=231578"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=231578"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=231578"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=231578"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=231578"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=231578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}