Authyo Authentication and Notification for WooCommerce lets your customers log in, register, and check out using a one-time password (OTP) — no password required. It also keeps customers informed at every step of their order with real-time notifications via Email, SMS, and WhatsApp.
Built for WooCommerce stores that want to reduce friction, lower cart abandonment, and improve customer communication — all through a single plugin.
Why Use OTP Authentication?
Passwords cause real problems for online stores: forgotten credentials, account lockouts, and weak passwords that put customers at risk. OTP authentication solves all of this by sending a short verification code directly to your customer’s email or phone — no password to remember, no account to recover.
The result: a faster, safer checkout experience that customers actually prefer.
OTP Login & Registration
Add passwordless login and registration to any page using simple shortcodes:
[authyo_login] — Adds an OTP-based login form to any page
[authyo_register] — Adds an OTP-based registration form to any page
Customers enter their email address or mobile number, receive an OTP, and are logged in or registered instantly. No passwords involved.
Supported OTP delivery channels:
???? Email — Delivered to the customer’s inbox
???? WhatsApp — Sent as a WhatsApp message
???? SMS — Sent as a text message
???? Voice Call — OTP read aloud via automated call
You choose which channels to enable, set a priority channel, and configure automatic fallback so customers always receive their OTP even if one channel fails.
OTP Verification at Checkout
Optionally require customers to verify their email address or phone number before completing a purchase. This adds a layer of confirmation that the contact details provided are accurate — reducing failed deliveries, disputes, and fraudulent orders.
The checkout OTP field is session-based (not form-based) for security, and works with both classic WooCommerce checkout and the newer Checkout Block.
WooCommerce Order Notifications
Keep customers informed automatically when their order status changes. Configure notification flows for any order event:
???? Order Received (Pending)
✅ Payment Confirmed (Processing)
???? Order Completed
⏸ Order On Hold
❌ Order Cancelled
???? Order Refunded
⚠️ Payment Failed
For each event, choose to notify via Email, SMS, or WhatsApp (or any combination). Notifications use pre-built templates from your Authyo dashboard. Enable or disable individual flows at any time without deleting them.
Security & Rate Limiting
Nonce verification on all form submissions and AJAX requests
Rate limiting: maximum 5 OTP requests per 10 minutes per user
Configurable maximum OTP attempt limit (1–20 attempts)
Configurable lockout period after too many failed attempts (1–1440 minutes)
All inputs are sanitized and validated
OTP bypass mode for testing with whitelisted emails and phone numbers
Configuration Options
OTP length — 4 to 8 digits
OTP expiry — 10 to 600 seconds
Priority channel — Choose which delivery method is tried first for mobile numbers
Fallback channels — Automatically retry with another channel if the primary one fails
Country code management — Restrict the phone country dropdown to specific countries or allow all
Default country — Pre-select a country code in the phone number field
OTP activity log — View and manage all OTP send/verify events from the admin panel
Requirements
This plugin connects to the Authyo.io API to send OTPs and notifications. A free Authyo account is required — sign up at authyo.io, generate your API credentials, and paste them into the plugin settings.
WordPress 5.0 or higher
WooCommerce 5.0 or higher
PHP 7.4 or higher
A free Authyo.io account
WooCommerce Compatibility
✅ Compatible with WooCommerce High-Performance Order Storage (HPOS)
✅ Compatible with WooCommerce Cart and Checkout Blocks
Do I need to create an account somewhere to use this plugin?
Yes. This plugin uses the Authyo.io API to send OTPs and notifications. You need a free account at authyo.io. After signing up, generate your Client ID and Client Secret from the Authyo dashboard and enter them in the plugin settings.
Is Authyo.io free to use?
Authyo.io offers a free plan. Paid plans are available for higher volumes. Visit authyo.io for current pricing details.
Which channels can I use to send OTPs?
You can send OTPs via Email, SMS, WhatsApp, and Voice Call. Enable one or multiple channels in the plugin settings. You can also set a priority channel and configure automatic fallback so if one channel fails, another is tried automatically.
Can customers log in with a phone number instead of an email address?
Yes. Customers can enter either an email address or a mobile phone number. The plugin automatically detects which one is entered and routes the OTP to the right channel.
Does it support international phone numbers?
Yes. The phone number field includes a country code selector with support for countries worldwide. The available countries are loaded from the Authyo API and cached locally. You can also restrict the dropdown to specific countries from the plugin settings.
Will it work with my WooCommerce theme?
Yes. The plugin includes universal theme compatibility CSS that overrides common theme conflicts. The forms are designed to adapt to your theme’s styling. The checkout OTP field integrates with both the classic WooCommerce checkout and the Gutenberg-based Checkout Block.
Can I keep password login alongside OTP login?
Yes. The OTP login form is added only to pages where you place the shortcode. The default WooCommerce login form remains untouched unless you choose to replace or hide it. Both methods can coexist.
What happens if a customer does not receive their OTP?
If the primary delivery channel fails, the plugin can automatically retry using a fallback channel (for example, trying SMS if WhatsApp fails). Customers also see a “Try another method” option in the form to manually request the OTP via a different channel.
Can I set how long an OTP is valid?
Yes. You can set the OTP expiry time between 10 and 600 seconds from the plugin settings. The default is 60 seconds.
What happens if a customer enters the wrong OTP too many times?
You can configure a maximum attempt limit (1–20 attempts) and a lockout period (1–1440 minutes). Once the limit is exceeded, the customer is temporarily blocked from attempting again. The counter resets automatically after the lockout period.
Is there a log of all OTP activity?
Yes. The plugin logs every OTP send and verification attempt. You can view the full log under Authyo OTP → OTP Logs in your admin panel, including the email/phone used, status, IP address, and timestamp. Logs can be bulk deleted.
Does checkout OTP verification slow down the checkout process?
No. Verification happens via AJAX in the background. The customer enters and submits their OTP before placing the order, so there is no delay at the point of order creation. Verification state is stored in a server-side session, not in the form, so it cannot be bypassed by manipulating form data.
Can I test the plugin without sending real OTPs?
Yes. The plugin includes a testing bypass mode. You can add specific email addresses and phone numbers to a whitelist — for those entries, the OTP step is skipped and verification always succeeds. This lets you test your checkout flow without consuming API credits.
Does it work with the latest version of WooCommerce?
Yes. The plugin is tested with the latest WooCommerce release and declares compatibility with WooCommerce HPOS (High-Performance Order Storage) and the WooCommerce Checkout Block.