Happy Coders OTP Login for WooCommerce
Let customers log in with their mobile number and a one-time password instead of a password. OTPs go by SMS or WhatsApp through MSG91, or by email.
What it does
In India most people know their mobile number and almost nobody remembers the password they set on a store six months ago. This removes the password from the equation.
Login without a password
A mobile number and a one-time code. No forgotten passwords, no reset emails to chase, and no sign-up form to abandon.
SMS, WhatsApp or email
OTPs are delivered through the MSG91 API by SMS or WhatsApp. Email OTP is supported as a second route once a user has verified their address.
Full-screen or popup
Use the
shortcode for a full form, or add the CSS class
otp-popup-trigger to any button or link to open the login as a popup.
Order and cart alerts
Automatic messages for new registrations, orders placed, shipped and completed, and abandoned carts — each one with its own on/off toggle.
Your own wording
Message templates with dynamic variables such as customer name and order ID, so the SMS sounds like your store and not like a system.
Sensible limits
A 4- or 6-digit OTP, a resend timer you set, and a cap on how many codes one user can request in a day.
Setting it up
The plugin side takes five minutes. The MSG91 side — account, Sender ID and DLT-approved templates — is the part that takes longer, and it is outside the plugin.
- Create an MSG91 account and get your Auth Key, Sender ID and DLT-approved template IDs.
- Install and activate the plugin from Plugins → Add New, or upload it to /wp-content/plugins/.
- Open MSG91 OTP & SMS in the admin menu and enter your MSG91 credentials.
- Set the OTP length, resend timer, daily limit, colours and post-login redirect.
- Put
on a page, or add the class
otp-popup-triggerto your existing login link. - Turn on only the transactional messages you actually want, in the Transactional SMS Settings tab.
How the two login routes work
Mobile OTP is the front door. Email OTP is a convenience that unlocks after a one-time verification.
| Route | How it behaves |
|---|---|
| Mobile OTP | The default. A new user registers with a mobile OTP; an existing user signs in the same way. |
| Email OTP | On their first login after registering, the user verifies their email address once. After that they can use email OTP instead. |
| Popup or full page | Shortcode for a full-screen form, or the otp-popup-trigger class on any element for a popup. |
What gets sent automatically
Each of these has its own toggle, so you can send one and not the rest.
- New registration
- Order placed
- Order shipped
- Order completed
- Abandoned cart
Requirements
| Version | 2.8 |
| Requires WordPress | 5.0 or higher |
| Requires PHP | 7.4 or higher |
| Tested up to | WordPress 7.0 |
| Needs | An MSG91 account for SMS and WhatsApp |
| Data sent to MSG91 | The phone number only |
| Price | Free |
Who it is for
- Indian stores whose customers know their mobile number and not their password
- Any store losing sign-ins to forgotten passwords and reset emails that land in spam
- Stores that already send transactional SMS through MSG91 and want one system instead of two
- Checkouts on phones, where typing a password is the slowest step
Questions people ask
Do I need an MSG91 account?
Yes. The plugin talks to MSG91 to deliver the codes, so you need an active account with an Auth Key, a Sender ID and approved templates.
How do I show the login form?
Either put the shortcode
on a page, post or widget, or add the CSS class
otp-popup-trigger to any button or link to open it as a popup.
Is it compatible with WooCommerce?
Yes. It works with WooCommerce login and sends order-status notifications by SMS or WhatsApp.
Can I turn off some of the notifications?
Yes. Every notification type has its own toggle in the Transactional SMS Settings tab.
How does email OTP work?
A new user registers with a mobile OTP. On their first login after that, they verify their email address once. From then on they can log in with an email OTP.
What data goes to MSG91?
The phone number, so the code and the notifications can be delivered. Nothing else.
Who do I ask when something goes wrong?
Plugin problems go to the WordPress.org support forum. Anything about your MSG91 account, billing, Sender ID, templates or delivery goes to MSG91.
Free on the WordPress plugin directory
Install it from your dashboard, or download the ZIP from WordPress.org.



