WP Manifestindependent plugin directory
manifest / ecommerce / woocommerce-whatsapp-pro

WooCommerce WhatsApp Pro

WooCommerce plugin for order notifications over the Meta WhatsApp Cloud API: background sending via Action Scheduler, template variable mapping, delivery tracking via webhooks. PHP + React admin.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/jahanzaibmohsin9/woocommerce-whatsapp-pro/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A WooCommerce plugin that sends order notifications to customers on WhatsApp through the official Meta WhatsApp Cloud API.

The main design goal is that notifications never slow down checkout. Order events only schedule a job; sending happens in the background through Action Scheduler, and delivery status comes back through Meta webhooks.

Screenshots

Message log: every send with its delivery status (sent, delivered, read, failed) and one-click retry.

Message logs

Template variable mapping with live preview Triggers
Template mapping Triggers
Log details
Log details

Screenshots come from a local WordPress 7.1 / WooCommerce 11.2 site with demo orders. The Meta Graph API was stubbed, so no real messages were sent.

Features

  • Notifications for order created, processing, on-hold, completed, shipped, cancelled, refunded and failed
  • Fetches your approved WhatsApp templates from Meta and maps their placeholders to order fields (billing/shipping details, order number, total, currency, status, payment and shipping method)
  • Background sending with Action Scheduler, so checkout requests never wait on the Meta API
  • Message log in a custom table with filters and one-click retry for failed sends
  • Delivery tracking through webhooks: sent, delivered, read, failed
  • Webhook payloads verified with X-Hub-Signature-256 when an app secret is set
  • Phone number normalisation to E.164 using the billing country
  • HPOS (High-Performance Order Storage) compatible
  • React admin dashboard built with @wordpress/scripts, backed by a namespaced REST API

How it works

Order placed / status changed
        │
        ▼
Order trigger ── is this event enabled? ── no ──► stop
        │ yes
        ▼
Action Scheduler job queued   (checkout returns immediately)
        │
        ▼
Queue worker → build template variables → Meta Cloud API → log row (sent / failed)
                                                                │
Meta webhook ── delivered / read / failed ──────────────────────┘

Requirements

Version
WordPress 5.8+
WooCommerce 7.0+
PHP 8.1+
MySQL / MariaDB 5.7+ / 10.3+

From Meta you need a WhatsApp Business app, a Phone Number ID, a WhatsApp Business Account ID, an access token and at least one approved message template.

Installation

npm install
npm run build          # builds the React admin into build/
  1. Copy the folder to wp-content/plugins/woocommerce-whatsapp-pro and activate it.
  2. Open WooCommerce → WhatsApp.
  3. API Credentials: enter your Meta credentials. The webhook callback URL and verify token to paste into Meta are shown here.
  4. Templates: fetch approved templates and map their variables to order fields.
  5. Triggers: enable the order events you want and pick a template for each.
  6. Place a test order and check Message Logs.

A full walkthrough is in docs/QUICK_START.md and the staged test checklist in docs/TESTING_GUIDE.md.

Project structure

woocommerce-whatsapp-pro.php   plugin bootstrap, HPOS declaration, dependency checks
includes/Admin/                admin menu and REST API (settings, templates, logs, webhook)
includes/Api/                  Meta Graph API client
includes/Background/           Action Scheduler queue handler
includes/Database/             log table installer and log manager
includes/Triggers/             WooCommerce order hooks
includes/Utils/                phone number formatter
src/                           React admin app (built to build/)
uninstall.php                  removes options and scheduled hooks (log table kept unless filtered)

Development

A local WordPress + WooCommerce site with the plugin installed and activated (needs Docker):

npx @wordpress/env start     # http://localhost:8888, admin / password
npx @wordpress/env stop
npm run start          # watch mode for the admin UI
npm run lint:js
npm run lint:css

Status

Tested end to end on a local WordPress 7.1 / WooCommerce 11.2 site (wp-env) against a stubbed Graph API: block-checkout orders, background sending, template languages, webhook verification, signature checks and delivery-status updates. It hasn't been run against a live Meta account with approved templates yet, so treat it as beta.

Developed January – March 2026. Imported from a private repository; the earlier commit history was left out because it contained internal planning notes.

License

MIT, see LICENSE (GPL-compatible, so it can be distributed as a WordPress plugin).