- PHP 100%
| includes | ||
| .gitignore | ||
| CHANGELOG.md | ||
| LICENSE | ||
| README.md | ||
| readme.txt | ||
| woocommerce-push-notifications.php | ||
WooCommerce Push Notifications
Send admin push notifications to multiple services when key events occur on your WooCommerce store. Each admin or shop manager can configure their own notification preferences independently.
Supported Services
| Service | Type |
|---|---|
| ntfy | Self-hostable or hosted |
| Gotify | Self-hosted |
| Mattermost | Self-hosted, incoming webhook |
| Apprise | Self-hosted, 80+ services |
| Custom webhook | Any JSON POST endpoint |
Supported Events
WordPress
- User login
WooCommerce (requires WooCommerce)
- New order (payment confirmed / processing)
- Order status changes
- Failed or cancelled order
- New customer registration
- Low stock alert
WooCommerce Subscriptions (requires WooCommerce Subscriptions)
- Subscription renewal — success
- Subscription renewal — failed
- Subscription cancelled
Per-User Preferences
Each administrator or shop manager can override the global settings from their WordPress profile page. They can:
- Enable or disable individual events independently of the global setting
- Choose which notification services they personally receive alerts on
This allows different team members to receive only the notifications relevant to their role — for example a shop manager receiving new order alerts via ntfy, while an administrator receives failed order and subscription alerts via Mattermost.
Installation
- Download the latest zip from Releases
- In WordPress go to Plugins → Add New → Upload Plugin
- Upload the zip and activate
- Go to Settings → Push Notifications to configure your services
- Enable events globally under the Events tab
- Optionally, each admin/shop manager can set personal preferences under Users → Profile
Configuration
Global Settings
Each service has its own tab in Settings → Push Notifications. Enable the services you want and fill in the relevant credentials. The Events tab controls which events trigger notifications globally.
Use the Send Test Notification button at the bottom of the settings page to confirm each service is working.
ntfy
- Server URL — use
https://ntfy.shfor the hosted service or your own server - Topic — the ntfy topic to publish to
- Username / Password — leave blank if your topic is public
Gotify
- Server URL — your self-hosted Gotify instance
- App Token — create an application in Gotify and use its token
Mattermost
- Webhook URL — create an incoming webhook under Integrations → Incoming Webhooks
- Bot Username — display name in Mattermost (defaults to WooCommerce)
- To post to a specific channel, set it on the webhook in Mattermost directly
Apprise
- API URL — your self-hosted Apprise API instance
- Config Key — optional, uses
/notify/{key}if set, otherwise/notify - API Token — optional bearer token if your instance requires auth
Custom Webhook
Sends a JSON POST to any URL:
{ "title": "...", "message": "...", "priority": "..." }
Optional Bearer token supported.
Per-User Preferences
Each administrator or shop manager will see a Push Notification Preferences section on their WordPress profile page. Each event and each service can be set to:
- Use global setting — defers to the global Events tab configuration
- Enabled — always receive this notification
- Disabled — never receive this notification
Only globally enabled services appear in the per-user service list.
Requirements
- WordPress 5.8+
- PHP 7.4+
- WooCommerce (for order, customer, and stock events)
- WooCommerce Subscriptions (for subscription events, optional)
License
GPL v2 or later. See LICENSE.
Contributors
- Developed with AI assistance from Claude