[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fW4C97aP2YwmLp_YlE9YZHOHNnPtXZtUlRPl0F6dC7Io":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"kwtsms","https:\u002F\u002Fprofiles.wordpress.org\u002Fkwtsms\u002F",1,0,100,30,94,"2026-05-20T05:43:52.521Z",[13],{"slug":4,"name":14,"version":15,"author":4,"author_profile":5,"description":16,"short_description":17,"active_installs":7,"downloaded":18,"rating":7,"num_ratings":7,"last_updated":19,"tested_up_to":20,"requires_at_least":21,"requires_php":22,"tags":23,"homepage":29,"download_link":30,"security_score":8,"vuln_count":7,"unpatched_count":7,"last_vuln_date":31,"fetched_at":32},"kwtSMS: OTP & SMS Notifications","3.5.2","\u003Cp>\u003Cstrong>kwtSMS\u003C\u002Fstrong> replaces or supplements WordPress passwords with SMS one-time codes, sends WooCommerce order updates automatically, and lets you verify phone numbers on any contact form. Built on the \u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\" rel=\"nofollow ugc\">kwtSMS\u003C\u002Fa> SMS gateway.\u003C\u002Fp>\n\u003Cp>Built for Arabic-speaking markets (Kuwait, Saudi Arabia, UAE, Bahrain, Qatar, Oman) with full RTL admin support and bilingual SMS templates in English and Arabic.\u003C\u002Fp>\n\u003Ch4>Authentication\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>2FA Mode:\u003C\u002Fstrong> users log in with username + password, then confirm with a 6-digit SMS code\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Passwordless Mode:\u003C\u002Fstrong> users enter their phone number and receive an OTP to log in directly, no password needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Both Modes:\u003C\u002Fstrong> let each user choose their preferred method\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Password Reset via SMS:\u003C\u002Fstrong> replace the email link with an SMS OTP verification flow\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Role-Based Enforcement:\u003C\u002Fstrong> configure which user roles must pass OTP (exclude administrators, apply only to customers, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Welcome SMS:\u003C\u002Fstrong> send a customisable welcome message when a new user registers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Country Code Dropdown:\u003C\u002Fstrong> restrict the dial-code selector on login forms to GCC countries or a custom list\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WooCommerce Integration\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>7 order status notifications:\u003C\u002Fstrong> Processing, On-Hold (Shipped), Completed, Cancelled, Pending Payment, Refunded, Failed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin order notifications:\u003C\u002Fstrong> automatically notify a configurable admin phone number on any order status change\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Checkout OTP Gate:\u003C\u002Fstrong> require phone verification before the customer can place an order (all methods or COD-only)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-status templates:\u003C\u002Fstrong> independent English + Arabic SMS template for every order status\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin SMS panel:\u003C\u002Fstrong> send a custom free-text SMS to any order’s customer from the order edit screen\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stock alerts:\u003C\u002Fstrong> low stock, out of stock, and backorder notifications to admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>New product SMS:\u003C\u002Fstrong> notify admin when a product is first published\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Back-in-stock notifications:\u003C\u002Fstrong> customers subscribe on out-of-stock product pages, SMS sent automatically on restock\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Instant new order SMS:\u003C\u002Fstrong> notify admin the moment an order is placed, before status processing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cart abandonment recovery:\u003C\u002Fstrong> detect abandoned carts, send recovery SMS with auto-generated coupon codes, track recovery stats on the dashboard\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multivendor support:\u003C\u002Fstrong> per-vendor order SMS for Dokan, WCFM, and WC Vendors\u003C\u002Fli>\n\u003Cli>HPOS (High-Performance Order Storage) compatible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contact Form Integrations\u003C\u002Fh4>\n\u003Cp>Each integration supports two modes: \u003Cstrong>Notification\u003C\u002Fstrong> (send a confirmation SMS on submit) and \u003Cstrong>OTP Gate\u003C\u002Fstrong> (block submission until the phone number is verified):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Contact Form 7\u003C\u002Fli>\n\u003Cli>WPForms\u003C\u002Fli>\n\u003Cli>Ninja Forms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Security\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Sliding-window rate limiting per phone number, per IP address, and per user account\u003C\u002Fli>\n\u003Cli>Duplicate OTP guard: reuses existing valid OTP on double-click or page reload\u003C\u002Fli>\n\u003Cli>IP Allowlist\u002FBlocklist with CIDR support for IPv4 and IPv6\u003C\u002Fli>\n\u003Cli>IPHub proxy\u002FVPN detection (optional): silently block or flag OTP requests from known proxies\u003C\u002Fli>\n\u003Cli>Registration OTP gate: verify phone via OTP before account creation\u003C\u002Fli>\n\u003Cli>Trusted Devices: trust a device for 30 days after 2FA, with profile revoke controls\u003C\u002Fli>\n\u003Cli>Phone blocking list: silently drop OTP requests from blocked numbers (anti-enumeration)\u003C\u002Fli>\n\u003Cli>Attempt lockout after configurable max failures\u003C\u002Fli>\n\u003Cli>Google reCAPTCHA v3 and Cloudflare Turnstile support\u003C\u002Fli>\n\u003Cli>All credentials stored server-side, never output to HTML\u003C\u002Fli>\n\u003Cli>Nonces on every form and AJAX action\u003C\u002Fli>\n\u003Cli>Anti-enumeration: password reset never reveals whether an account exists\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>External Services\u003C\u002Fh4>\n\u003Cp>This plugin connects to the following external services:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. kwtSMS API\u003C\u002Fstrong> (required): sends all SMS messages. \u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\" rel=\"nofollow ugc\">kwtsms.com\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\u002Fpolicy.html\" rel=\"nofollow ugc\">Terms\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\u002Fprivacy.html\" rel=\"nofollow ugc\">Privacy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. ipapi.co\u003C\u002Fstrong> (optional): detects visitor country for dial-code pre-selection. \u003Ca href=\"https:\u002F\u002Fipapi.co\" rel=\"nofollow ugc\">ipapi.co\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fipapi.co\u002Fterms\u002F\" rel=\"nofollow ugc\">Terms\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fipapi.co\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Privacy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. IPHub\u003C\u002Fstrong> (optional): proxy\u002FVPN detection on OTP requests. \u003Ca href=\"https:\u002F\u002Fiphub.info\" rel=\"nofollow ugc\">iphub.info\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fiphub.info\u002Flegal\" rel=\"nofollow ugc\">Terms\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fiphub.info\u002Flegal\" rel=\"nofollow ugc\">Privacy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>4. Google reCAPTCHA v3\u003C\u002Fstrong> (optional): bot protection on OTP forms. \u003Ca href=\"https:\u002F\u002Fwww.google.com\u002Frecaptcha\u002F\" rel=\"nofollow ugc\">google.com\u002Frecaptcha\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fterms\" rel=\"nofollow ugc\">Terms\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">Privacy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>5. Cloudflare Turnstile\u003C\u002Fstrong> (optional): alternative bot protection. \u003Ca href=\"https:\u002F\u002Fwww.cloudflare.com\u002Fproducts\u002Fturnstile\u002F\" rel=\"nofollow ugc\">cloudflare.com\u002Fturnstile\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.cloudflare.com\u002Fterms\u002F\" rel=\"nofollow ugc\">Terms\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.cloudflare.com\u002Fprivacypolicy\u002F\" rel=\"nofollow ugc\">Privacy\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Admin\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Users Without Phone\u003C\u002Fstrong> sub-page under the WordPress Users menu: lists all registered users missing a phone number, with a dynamic count badge on the menu item\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Test Mode\u003C\u002Fh4>\n\u003Cp>Enable \u003Cstrong>Test Mode\u003C\u002Fstrong> in the Gateway settings to test without receiving real SMS messages. Messages are queued on the kwtSMS server but never delivered to the phone. Credits are still deducted. To recover them, log in to your kwtSMS account dashboard and delete the queued messages. The OTP code is visible under kwtSMS > Logs > Debug Log so you can complete flows during development.\u003C\u002Fp>\n\u003Ch4>Languages\u003C\u002Fh4>\n\u003Cp>Ships with English (default) and Arabic translations. The plugin admin UI and all user-facing strings are fully translatable.\u003C\u002Fp>\n\u003Ch3>Help & Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\u002Ffaq\u002F\" rel=\"nofollow ugc\">kwtSMS FAQ\u003C\u002Fa>\u003C\u002Fstrong>: Answers to common questions about credits, sender IDs, OTP, and delivery.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\u002Fsupport.html\" rel=\"nofollow ugc\">kwtSMS Support\u003C\u002Fa>\u003C\u002Fstrong>: Open a support ticket or browse help articles.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\u002F#contact\" rel=\"nofollow ugc\">Contact kwtSMS\u003C\u002Fa>\u003C\u002Fstrong>: Reach the kwtSMS team directly for Sender ID registration and account issues.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\u002Fsender-id-help.html\" rel=\"nofollow ugc\">Sender ID Help\u003C\u002Fa>\u003C\u002Fstrong>: Sender ID registration and guidelines.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\u002Flogin\u002F\" rel=\"nofollow ugc\">kwtSMS Dashboard\u003C\u002Fa>\u003C\u002Fstrong>: Recharge credits, buy Sender IDs, view message logs, and manage coverage.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.kwtsms.com\u002Fintegrations.html\" rel=\"nofollow ugc\">Other Integrations\u003C\u002Fa>\u003C\u002Fstrong>: Plugins and integrations for other platforms and languages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fboxlinknet\u002Fkwtsms-wordpress\u002Fissues\" rel=\"nofollow ugc\">Plugin Issues\u003C\u002Fa>\u003C\u002Fstrong>: Report bugs or request features for this WordPress plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n","SMS OTP login, password reset, and WooCommerce order notifications via the kwtSMS gateway. Arabic RTL support included.",92,"2026-03-25T18:29:00.000Z","6.9.4","6.0","7.4",[24,25,26,27,28],"authentication","login","otp","sms","woocommerce","https:\u002F\u002Fwww.kwtsms.com\u002Fintegrations.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkwtsms.3.5.2.zip",null,"2026-04-16T10:56:18.058Z"]