ForthFocus SMS – OTP Verification, Order Notifications & Indian DLT for WooCommerce

ForthFocus SMS – OTP Verification, Order Notifications & Indian DLT for WooCommerce

Details
View on WordPress

ForthFocus SMS is built for Indian WooCommerce stores that need DLT-ready transactional SMS, order notifications, OTP verification, and operational visibility in one place. It sends order-status notifications to customers and adds phone-number OTP verification to important store touchpoints such as login, registration, cart, and checkout.

It is built for production: instant order-status sends with optional async queue, a custom log table with filtering, search, retry and CSV export, per-template DLT enforcement, real rate-limiting on OTP requests and verifications, segment-aware authoring with live variable-syntax linting, HTTP diagnostics for gateway communication, and a 3-step setup wizard so first-time configuration takes minutes instead of hours.

The plugin currently dispatches via SMSGatewayHub. Additional providers (MSG91, Gupshup, Twilio, Kaleyra) are on the roadmap. The architecture is provider-agnostic — the same templates, OTP flows, and logging continue to work as new providers are added.

What makes it different

Most SMS plugins focus only on sending a message or adding a basic OTP form. ForthFocus SMS is focused on the Indian WooCommerce + DLT workflow: every enabled template needs its own DLT Template ID, template syntax is checked before sending, customer OTP flows are rate-limited, gateway responses are logged, balance checks are available inside WordPress, and Diagnostics shows the actual WordPress HTTP request lifecycle for SMSGatewayHub communication.

What it sends

  • Order Processing — when an order moves to Processing
  • Order Completed — when an order is marked Completed
  • Order Cancelled — when an order is cancelled
  • Order Refunded — when a refund is issued
  • OTP for login — alongside the standard email/password login
  • OTP for registration — verify the phone number before account creation
  • OTP at checkout — verify the phone before the customer hits “Place Order” (cuts down on fake / COD fraud orders)

Why DLT compliance matters

In India, every commercial SMS must use a sender ID and template registered on the DLT (Distributed Ledger Technology) portal of your telecom operator. Sending unregistered content gets rejected at the operator side, often silently. This plugin enforces DLT correctness at every layer:

  • Each template requires its own DLT template ID before it can be enabled.
  • The plugin refuses to send any template that has no DLT ID — and logs the attempt so you can see what was skipped and why.
  • A live syntax linter catches the most common authoring mistakes ({order_id) instead of {order_id}, {#var#} placeholders pasted verbatim from the DLT portal) before they cause silent rejections.

Privacy

  • The plugin sends data to the configured SMS gateway (currently SMSGatewayHub) only when an SMS-related action is performed, such as sending an order notification, sending an OTP, testing a template, or refreshing the SMS balance.
  • For SMS sending, the data sent to SMSGatewayHub may include the recipient phone number, rendered SMS message body, sender ID, route, channel, Entity ID, DLT Template ID, and the site owner’s SMSGatewayHub API key.
  • For balance checks, the plugin sends the site owner’s SMSGatewayHub API key to the SMSGatewayHub balance endpoint.
  • All assets (fonts, scripts, styles) are loaded locally from the plugin folder. The plugin does NOT load anything from external CDNs or third-party servers on either admin or customer-facing pages.
  • The plugin does NOT send usage analytics, telemetry, tracking events, or call-home data to ForthFocus.
  • OTP codes are hashed (with a per-phone salt) before storage. Plaintext OTP codes are redacted from log entries.
  • Store owners are responsible for ensuring that their SMS use complies with applicable consent, privacy, telecom, DLT, and customer communication rules.

External services

This plugin connects to SMSGatewayHub, a third-party SMS gateway service, to send transactional SMS messages and fetch SMS balance information. An SMSGatewayHub account, API key, approved sender ID/Header, Entity ID, and approved DLT templates are required for live SMS delivery.

The plugin connects to the following SMSGatewayHub endpoints:

  • https://www.smsgatewayhub.com/api/mt/SendSMS — used when the site owner sends an SMS, such as an order-status notification, OTP message, or template test. The plugin sends the recipient phone number, rendered message body, sender ID, route, channel, Entity ID, DLT Template ID, and the site’s SMSGatewayHub API key.
  • https://www.smsgatewayhub.com/api/mt/GetBalance — used when the dashboard or gateway settings page fetches the SMS balance. The plugin sends the site’s SMSGatewayHub API key.

SMS content and phone numbers are sent to SMSGatewayHub only when the site owner enables the plugin and performs an SMS-related action or when a configured WooCommerce/OTP event triggers an SMS.

Service provider: SMSGatewayHub
Terms and Conditions: https://www.smsgatewayhub.com/terms-and-conditions
Privacy Policy: https://www.smsgatewayhub.com/privacy-policy
API Documentation: https://www.smsgatewayhub.com/free-sms-gateway-developer-api

Compatibility

The plugin works on both classic (shortcode-based) and block-based WooCommerce checkout, but the depth of integration differs:

  • Classic checkout ([woocommerce_checkout] shortcode, used by Storefront, Astra, GeneratePress, Flatsome, URNA, Dokan-style themes, and any site with the WC checkout shortcode) — full integration. The OTP gate renders above the checkout form, the billing phone field is automatically locked to the verified number once verification is complete, and the user uses a “Change phone” link if they need to switch numbers.
  • Block-based checkout (the new WC Checkout Block, used by Twenty Twenty-Five and other FSE themes by default) — basic integration. The OTP gate renders above the checkout block. The billing phone field inside the React-managed block cannot be locked from outside the block API, so the user is technically able to edit it after verifying. However, the server-side Store API guard rejects order placement if the submitted phone does not match the verified number — so the verification is still enforced, just at submission rather than at the field level. Tightening this into a native checkout-block extension is on the v1.1 roadmap.

For the strictest UX and behavior (auto-locked phone field, no possibility of submitting a mismatched number), use the classic checkout. To switch from block-based to classic on a Twenty Twenty-Five site, edit the Checkout page and replace the “Checkout” block with the [woocommerce_checkout] shortcode.

Setup wizard

A 3-step setup wizard guides you through:

  1. Gateway credentials (API key, sender ID, route, channel, entity ID)
  2. Notification templates (DLT ID + approved message body for each order event you want to notify on)
  3. OTP verification (which flows to enable, and the OTP message templates)

You can re-run the wizard from the Dashboard at any time, or skip it entirely if you prefer to configure manually.

Trademark Notice

ForthFocus is a trademark of FORTHFOCUS GROUP.

WordPress, WooCommerce, and Woo are trademarks of their respective owners. This plugin is not affiliated with, endorsed by, sponsored by, or officially associated with the WordPress Foundation, Automattic Inc., WooCommerce, or Woo.

SMSGatewayHub, MSG91, Gupshup, Twilio, and Kaleyra are trademarks or brands of their respective owners. This plugin currently integrates with SMSGatewayHub as a third-party SMS service provider; MSG91, Gupshup, Twilio, and Kaleyra are referenced only as examples of additional providers planned for future releases. The plugin is not officially endorsed by or affiliated with any of these companies unless stated through a formal partnership.

Details

Plugin code:
forthfocus-sms-otp
Plugin version:
1.0.0
Author:
Outdated:
No
WP version:
6.0 or higher
PHP version:
7.4 or higher
Test up to WP version:
6.9.4
Total installations:
0
Last updated:
2026-05-14
Rating:
Times rated:
0
dlt
otp
sms
transactional-sms
woocommerce