{"id":241355,"date":"2025-07-27T11:48:36","date_gmt":"2025-07-27T11:48:36","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/login-with-whatsiplus-reverse-otp\/"},"modified":"2025-11-10T20:39:48","modified_gmt":"2025-11-10T20:39:48","slug":"login-with-whatsiplus-reverse-otp","status":"closed","type":"plugin","link":"https:\/\/el.wordpress.org\/plugins\/login-with-whatsiplus-reverse-otp\/","author":22048636,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"6.8.5","requires":"4.9","requires_php":"7.4","requires_plugins":null,"header_name":"Login with Whatsiplus (Reverse OTP)","header_author":"whatsiplus","header_description":"Let users log in using WhatsApp messages with Reverse OTP verification.","assets_banners_color":"0a525b","last_updated":"2025-11-10 20:39:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/whatsiplus.com\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":10,"downloads":537,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"whatsiplus","date":"2025-07-31 12:51:16"},"1.0.1":{"tag":"1.0.1","author":"whatsiplus","date":"2025-08-08 12:44:58"},"1.0.2":{"tag":"1.0.2","author":"whatsiplus","date":"2025-08-21 09:02:00"},"1.0.3":{"tag":"1.0.3","author":"whatsiplus","date":"2025-11-10 20:39:48"}},"upgrade_notice":{"1.0.3":"<p>Resolved WordPress Site Health errors caused by long-running PHP sessions\nImplemented safe session handling with immediate session_write_close() to prevent session lock issues\nImproved compatibility with loopback requests, REST API, and WP-Cron<\/p>","1.0.2":"<p>Fixed QR code cache issue (QR always matches the displayed code)\nPrevented already logged-in users from re-logging with WhatsApp<\/p>","1.0.1":"<p>Fixed some bugs\nChanged the page title to WhatsApp Login<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3334813,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3334813,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3334813,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3334813,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3334813,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3334813,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3334813,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3334813,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Login form shortcode display.","2":"WhatsApp message with OTP.","3":"Admin settings page.","4":"Logs page to track verification attempts."}},"plugin_section":[],"plugin_tags":[710,602,9210,3160,229357],"plugin_category":[38],"plugin_contributors":[229358],"plugin_business_model":[],"class_list":["post-241355","plugin","type-plugin","status-closed","hentry","plugin_tags-authentication","plugin_tags-login","plugin_tags-otp","plugin_tags-whatsapp","plugin_tags-whatsiplus","plugin_category-authentication","plugin_contributors-whatsiplus","plugin_committers-whatsiplus"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/login-with-whatsiplus-reverse-otp_0a525b.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/login-with-whatsiplus-reverse-otp\/assets\/screenshot-1.jpg?rev=3334813","caption":"Login form shortcode display."},{"src":"https:\/\/ps.w.org\/login-with-whatsiplus-reverse-otp\/assets\/screenshot-2.jpg?rev=3334813","caption":"WhatsApp message with OTP."},{"src":"https:\/\/ps.w.org\/login-with-whatsiplus-reverse-otp\/assets\/screenshot-3.jpg?rev=3334813","caption":"Admin settings page."},{"src":"https:\/\/ps.w.org\/login-with-whatsiplus-reverse-otp\/assets\/screenshot-4.jpg?rev=3334813","caption":"Logs page to track verification attempts."}],"raw_content":"<!--section=description-->\n<p><strong>Login with WhatsApp (Reverse OTP)<\/strong> allows users to authenticate by sending a message via WhatsApp to the admin number instead of receiving a code. This unique method, called <em>Reverse OTP<\/em>, ensures that the <strong>user is the initiator<\/strong> of the conversation, drastically reducing the chances of the admin number being blocked by WhatsApp.<\/p>\n\n<p>This plugin is ideal for login, membership, or community-based WordPress websites where mobile-based verification is preferred over email\/password.<\/p>\n\n<h3>Third-party Service<\/h3>\n\n<p>This plugin requires a third-party service to function properly. It integrates with the external <strong><a href=\"https:\/\/whatsiplus.com\">Whatsiplus API<\/a><\/strong> in order to provide OTP-based login functionality via WhatsApp.<\/p>\n\n<p>The plugin communicates with the following endpoints from the service:<\/p>\n\n<ul>\n<li><strong>API Base URL:<\/strong> https:\/\/api.whatsiplus.com  <\/li>\n<li><strong>Send Message:<\/strong> https:\/\/api.whatsiplus.com\/sendMsg  <\/li>\n<li><strong>Receive Message:<\/strong> https:\/\/api.whatsiplus.com\/receivedMessages  <\/li>\n<li><strong>Service Settings:<\/strong> https:\/\/api.whatsiplus.com\/serviceSettings  <\/li>\n<\/ul>\n\n<h4>What data is sent and when:<\/h4>\n\n<ul>\n<li><strong>During login or OTP request:<\/strong> The plugin sends the user\u2019s phone number (as entered by the user) and your API key to the Whatsiplus service in order to initiate OTP verification.<\/li>\n<li><strong>During plugin configuration:<\/strong> The plugin sends your API key to verify service status and fetch related settings (such as connected number and country code).<\/li>\n<\/ul>\n\n<p>No other personal data is transmitted to Whatsiplus.<\/p>\n\n<h4>Requirements:<\/h4>\n\n<p>This plugin <strong>will not work<\/strong> without a valid Whatsiplus API key. You can obtain a key by registering at <a href=\"https:\/\/whatsiplus.com\">https:\/\/whatsiplus.com<\/a>.<\/p>\n\n<h4>Service provider details:<\/h4>\n\n<ul>\n<li><strong>API Service Provider:<\/strong> Whatsiplus.com  <\/li>\n<li><strong>Documentation:<\/strong> https:\/\/docs.whatsiplus.com  <\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/whatsiplus.com\/terms-and-conditions\/  <\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/whatsiplus.com\/privacy-policy\/<\/li>\n<\/ul>\n\n<h3>How it Works<\/h3>\n\n<ol>\n<li>User enters their phone number in the login form.<\/li>\n<li>The system generates a unique OTP.<\/li>\n<li>The user is instructed to send that OTP to the admin\u2019s WhatsApp number.<\/li>\n<li>Once received and verified, the user is logged in securely.<\/li>\n<\/ol>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>\u2705 Let users log in without a password \u2014 via WhatsApp.<\/li>\n<li>\ud83d\udd12 Reverse OTP system \u2014 <strong>prevents your WhatsApp number from being blocked<\/strong>.<\/li>\n<li>\ud83d\udd0e Automatically detects OTP sent by users to Whatsiplus.<\/li>\n<li>\ud83d\udcf8 Users can scan a <strong>QR Code<\/strong> to quickly open WhatsApp with their unique code.<\/li>\n<li>\ud83d\udd17 One-click <strong>direct WhatsApp link<\/strong> \u2014 no need to type the code manually.<\/li>\n<li>\ud83d\udcac Sends welcome messages after login.<\/li>\n<li>\ud83d\udcf1 WooCommerce compatible (but not required).<\/li>\n<li>\ud83d\udcca Built-in log system to track login attempts.<\/li>\n<li>\ud83d\udd27 Admin can choose which user meta field contains the phone number.<\/li>\n<li>\ud83c\udf0d Default country code support.<\/li>\n<li>\ud83c\udf10 REST API endpoints to support external apps (mobile, PWA).<\/li>\n<li>\ud83e\udde9 Includes Widget and Shortcode for login anywhere on your site.<\/li>\n<li>\ud83d\udee0\ufe0f Supports custom user fields (e.g. contact_number, mobile, billing_phone, etc.)<\/li>\n<\/ul>\n\n<h3>REST API<\/h3>\n\n<p>Two REST endpoints are available for developers:<\/p>\n\n<ol>\n<li><code>POST \/wp-json\/reverse-otp\/v1\/request<\/code>\n\n<ul>\n<li>Input: <code>{ \"phone\": \"1530xxxxxxx\" }<\/code><\/li>\n<li>Output: <code>OTP code + WhatsApp link + expires_in<\/code><\/li>\n<\/ul><\/li>\n<li><code>POST \/wp-json\/reverse-otp\/v1\/verify<\/code>\n\n<ul>\n<li>Input: <code>{ \"phone\": \"...\", \"code\": \"...\" }<\/code><\/li>\n<li>Output: Auth status (if successful, user will be logged in)<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/login-with-whatsiplus-reverse-otp<\/code> or install directly through the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the \u2018Plugins\u2019 screen in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; Whatsiplus Login OTP<\/strong> and enter your Whatsiplus API Key.<\/li>\n<li>Use <code>[lwro_login_otp]<\/code> shortcode in a page or widget to display the login form.<\/li>\n<li>Done!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='why%20is%20this%20called%20reverse%20otp%3F'><h3>Why is this called Reverse OTP?<\/h3><\/dt>\n<dd><p>Because instead of sending the OTP to the user, the user sends the OTP to you \u2014 on WhatsApp. This prevents spam detection and your number won\u2019t get blocked.<\/p><\/dd>\n<dt id='is%20this%20plugin%20safe%20and%20secure%3F'><h3>Is this plugin safe and secure?<\/h3><\/dt>\n<dd><p>Yes. Only a valid OTP sent to your registered WhatsApp number from a matching user phone number is accepted.<\/p><\/dd>\n<dt id='does%20it%20require%20woocommerce%3F'><h3>Does it require WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce is optional. The plugin can detect phone numbers from standard or custom user meta fields.<\/p><\/dd>\n<dt id='can%20i%20use%20it%20for%20mobile%20apps%3F'><h3>Can I use it for mobile apps?<\/h3><\/dt>\n<dd><p>Yes! REST API support is included so you can integrate it into mobile apps or external platforms.<\/p><\/dd>\n<dt id='can%20i%20customize%20the%20welcome%20message%3F'><h3>Can I customize the welcome message?<\/h3><\/dt>\n<dd><p>Yes, you can change the welcome message from the plugin settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Resolved WordPress Site Health errors caused by long-running PHP sessions<\/li>\n<li>Implemented safe session handling with immediate session_write_close() to prevent session lock issues<\/li>\n<li>Improved compatibility with loopback requests, REST API, and WP-Cron<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed QR code cache issue (QR always matches the displayed code)<\/li>\n<li>Prevented already logged-in users from re-logging with WhatsApp<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed some bugs<\/li>\n<li>Changed the page title to WhatsApp Login<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Login with WhatsApp using Reverse OTP<\/li>\n<li>Admin settings panel<\/li>\n<li>Built-in log viewer<\/li>\n<li>REST API for login and verify<\/li>\n<li>WooCommerce and custom phone fields support<\/li>\n<li>QR code integration<\/li>\n<li>Auto-create login page<\/li>\n<li>Widget and shortcode support<\/li>\n<\/ul>","raw_excerpt":"Let users log in to your WordPress site using WhatsApp messages instead of SMS. No more blocked numbers \u2014 thanks to reverse OTP verification!","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/241355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=241355"}],"author":[{"embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/whatsiplus"}],"wp:attachment":[{"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=241355"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=241355"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=241355"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=241355"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=241355"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=241355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}