{"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-06-24T10:17:20","modified_gmt":"2026-06-24T10:17:20","slug":"happy-coders-otp-login","status":"publish","type":"plugin","link":"https:\/\/mg.wordpress.org\/plugins\/happy-coders-otp-login\/","author":18245072,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.8","stable_tag":"2.8","tested":"7.0","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-06-24 10:17:20","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":20,"downloads":1388,"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"},"2.8":{"tag":"2.8","author":"kombiahrk","date":"2026-06-24 10:17:20"}},"upgrade_notice":{"2.8":"<p>CRITICAL SECURITY UPDATE. This version fixes a critical authentication bypass (CVSS 9.8) that allowed unauthenticated attackers to log in as any user, including administrators, without OTP verification. All users must update immediately.<\/p>","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":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3334150,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3334150,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"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","2.8"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3322300,"resolution":"1","location":"assets","locale":"","width":1915,"height":879},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3456963,"resolution":"10","location":"assets","locale":"","width":1538,"height":858},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3456963,"resolution":"11","location":"assets","locale":"","width":1455,"height":817},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3322300,"resolution":"2","location":"assets","locale":"","width":1910,"height":868},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3322300,"resolution":"3","location":"assets","locale":"","width":1919,"height":874},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3355027,"resolution":"4","location":"assets","locale":"","width":1917,"height":866},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3456963,"resolution":"5","location":"assets","locale":"","width":1920,"height":4322},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3456963,"resolution":"6","location":"assets","locale":"","width":1913,"height":867},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3456963,"resolution":"7","location":"assets","locale":"","width":1919,"height":870},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3456963,"resolution":"8","location":"assets","locale":"","width":1119,"height":690},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3456963,"resolution":"9","location":"assets","locale":"","width":1442,"height":801}},"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"}},"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.8<\/h4>\n\n<ul>\n<li>Security: Fixed a critical authentication bypass vulnerability (CVSS 9.8) reported by the WPScan security team (discovered by moonge). The auto-login handler was incorrectly exposed as a public unauthenticated AJAX endpoint, allowing any visitor with the publicly available nonce to log in as any existing user \u2014 including administrators \u2014 without OTP verification. The handler is no longer registered as an AJAX endpoint; login is now performed exclusively within the OTP verification handler after server-side confirmation.<\/li>\n<li>Security: WhatsApp OTP flow no longer creates a WordPress user account at OTP send time. Account creation is now deferred until after the OTP is successfully verified, preventing phantom account creation for unverified numbers.<\/li>\n<li>Security: WhatsApp OTPs are now stored as short-lived transients (10-minute expiry) and are deleted immediately upon successful verification to prevent replay attacks.<\/li>\n<li>Security: Resolved a logical flaw in the SMS OTP verification path where the fallback code path could bypass the user-existence check.<\/li>\n<li>Fix: Send OTP button no longer changes to \"Sending...\" state when the mobile number field is empty. Validation now runs before the button state changes, so the form correctly shows the error message without disabling the button.<\/li>\n<li>Fix: WhatsApp option no longer appears in the Resend OTP section when WhatsApp OTP is disabled in settings. The resend buttons now correctly reflect the admin configuration.<\/li>\n<li>Security: OTP rate-limit counter now initializes to 0 before the database check, preventing a bypass when the rate-limit table is unavailable.<\/li>\n<li>Security: MSG91 API key and parameters are now properly URL-encoded in the OTP send request, preventing potential injection via special characters in credentials.<\/li>\n<li>Security: Verification cookies (msg91_verified_mobile, msg91_verified_user_id) are now set with HttpOnly, Secure, and SameSite=Strict flags to prevent JavaScript access and cross-site transmission.<\/li>\n<li>Security: Duplicate AJAX hook registration for hcotp_send_otp_ajax removed \u2014 previously caused each OTP send to be processed twice, including double rate-limit counting and double API calls.<\/li>\n<li>Security: WhatsApp OTPs are now stored as bcrypt hashes (via wp_hash_password) in both transients and user meta, preventing plaintext OTP exposure if the database is compromised.<\/li>\n<li>Security: Email account enumeration prevented \u2014 sending OTP to an unregistered email now returns a generic success response instead of a distinct error message.<\/li>\n<li>Security: Settings migration function now requires manage_options capability, preventing lower-privilege admin users from triggering the migration.<\/li>\n<li>Security: Checkout login notice now uses wc_get_page_permalink() for the account URL instead of a hardcoded path, and output is properly escaped.<\/li>\n<li>Security: Transactional SMS message templates now saved with sanitize_textarea_field instead of wp_kses_post, preventing HTML tags from being stored and sent inside SMS messages.<\/li>\n<li>Security: Admin asset versions changed from time() to HCOTP_VERSION, enabling proper browser caching.<\/li>\n<li>Fix: Server error messages in the OTP form are now rendered with .text() instead of .html() to prevent potential XSS from untrusted response content.<\/li>\n<li>Fix: Removed console.log statements that were exposing the nonce and plugin configuration in the browser developer console.<\/li>\n<\/ul>\n\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:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/231578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=231578"}],"author":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/happycoders"}],"wp:attachment":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=231578"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=231578"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=231578"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=231578"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=231578"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=231578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}