Notifications on Discord for WooCommerce

Description

Keep your team in the loop without leaving Discord.

Notifications on Discord for WooCommerce delivers rich, colour-coded notifications to any Discord channel whenever something happens in your store. Whether you want to celebrate a new sale, catch a failed payment, or get pinged when stock runs low – this plugin has you covered.

What you get

Order Notifications
Get notified for every WooCommerce order status: Pending, Processing, On Hold, Completed, Cancelled, Refunded, and Failed. Each notification includes a colour-coded embed (green for completed, amber for pending, red for failed) along with the customer name, email, country flag, order value, and a list of products ordered.

WooCommerce Subscriptions Support
If you run a subscription store with WooCommerce Subscriptions, you can receive notifications for subscription status changes including Active, On Hold, Cancelled, Expired, Pending Cancellation, Renewal Payment Complete, and Renewal Payment Failed.

New Customer Alerts
Fire a dedicated notification the first time a customer places an order – whether they checked out as a guest or registered an account. Great for tracking growth at a glance.

Low Stock Alerts
Receive a Discord notification as soon as a product hits its WooCommerce low stock threshold, so your team can restock before it becomes a problem.

Per-Status @Mentions
Specify @here, @everyone, or a Discord role ID for any individual status. Set a role ping on failed payments so your team gets alerted immediately, without pinging everyone for every order.

Minimum Order Value Filter
Reduce noise by only sending notifications for orders above a threshold you set. Useful if you run frequent low-value transactions and only want to be notified for meaningful orders.

Test Button Per Webhook
Every webhook row has a built-in Test button. Click it to send a live test embed to Discord so you can confirm everything is wired up correctly before going live.

Notification Log
An optional log records every notification sent – including the order or subscription number, status, products, order value, and the HTTP response code returned by Discord. Logs auto-purge after a configurable number of days (default: 7).

Developer Filters
* ppsndw_woo_discord_payload – modify the full Discord payload before it is sent for order and subscription notifications
* ppsndw_woo_discord_low_stock_payload – modify the payload for low stock notifications

Use a different channel per status

Each status has its own webhook field, so you can route notifications to different Discord channels. Send all sales to #orders, failed payments to #alerts, and low stock to #inventory.

Screenshots

  • Notifications settings tab – one row per status with enable toggle, webhook URL, test button, and mention field
  • Logs tab – filterable notification history with response codes
  • Example of a rich Discord embed notification in a Discord channel

Installation

Step 1: Install and Activate

  1. Go to Plugins > Add New and search for “Notifications on Discord for WooCommerce”.
  2. Click Install Now, then Activate.
  3. Alternatively, download the zip from WordPress.org, go to Plugins > Add New > Upload Plugin, and upload the file.

Step 2: Create a Discord Webhook

  1. Open Discord and go to the channel you want to receive notifications in.
  2. Click the gear icon next to the channel name to open Edit Channel.
  3. Go to Integrations > Webhooks > New Webhook.
  4. Give the webhook a name, optionally set an avatar, then click Copy Webhook URL.

Need more help? See the official guide: Intro to Webhooks

Step 3: Configure the Plugin

  1. In your WordPress dashboard, go to WooCommerce > Discord Notifications.
  2. On the Notifications tab, find the order status you want to be notified for.
  3. Check the Enable box, paste your webhook URL, and optionally enter a mention.
  4. Click Test to send a test notification to Discord and confirm it works.
  5. Click Save Settings.

Optional: Enable Logging

  1. Go to the Logs tab.
  2. Enable logging and set your preferred auto-purge retention period.
  3. All sent notifications will appear in the log table with response codes so you can confirm delivery.

FAQ

I’m not receiving any notifications in Discord

Discord webhooks only accept requests from publicly accessible URLs. If your site is running locally (e.g. on localhost or a private staging environment), Discord cannot reach it and notifications will silently fail. Deploy to a live, publicly accessible server and test again.

How do I send notifications to different Discord channels per order status?

Each status row has its own Webhook URL field. Simply paste a different webhook URL for each status to route them to separate channels.

Can I use one webhook for all statuses?

Yes. Paste the same webhook URL into every status row you want to enable. All notifications will go to the same channel.

How do I ping my team for failed payments?

In the Mention column next to the Failed status, enter @here, @everyone, or a Discord role ID in the format <@&123456789012345678>. That mention will be included in the notification message so the right people get alerted immediately.

Where do I find a Discord role ID?

Enable Developer Mode in Discord (User Settings > Advanced > Developer Mode), then right-click any role in Server Settings > Roles and click Copy Role ID.

What is the minimum order value filter?

Found at the top of the Notifications tab, this setting lets you suppress notifications for orders below a dollar threshold you set. Set it to 0 to notify for all orders regardless of value.

Does this work with WooCommerce Subscriptions?

Yes. If WooCommerce Subscriptions is installed and active, a Subscription Notifications section will automatically appear in the settings with all supported subscription statuses.

Does this work with WooCommerce High-Performance Order Storage (HPOS)?

Yes. The plugin is fully compatible with WooCommerce HPOS (custom order tables) and has declared compatibility accordingly.

How does the new customer notification work?

A notification fires on a customer’s very first order. For registered customers, it checks their total order count. For guests, it checks whether any previous order exists with the same billing email address. If it’s their first, the notification fires.

The Test button says it worked but I don’t see anything in Discord

Double-check the webhook URL – even a single extra character will cause it to silently fail. Also make sure the webhook hasn’t been deleted in Discord. You can verify by opening the channel’s Integrations settings and confirming the webhook still exists.

Can I customise what data is sent to Discord?

Yes. Use the ppsndw_woo_discord_payload filter to modify or replace the payload array before it is sent. For low stock notifications, use ppsndw_woo_discord_low_stock_payload. Both filters receive the full payload array and the relevant object (order, subscription, or product).

How do I turn off logging?

Go to WooCommerce > Discord Notifications > Logs tab and uncheck Enable Logging, then save. Existing log entries are kept but no new ones will be written. You can purge all existing entries using the Purge All Logs button.

Will my data be deleted if I uninstall the plugin?

Not by default. To remove all plugin settings, the log table, and scheduled events on deletion, go to the Logs tab and enable Delete Data on Uninstall before deleting the plugin.

My site is not in English – will the notifications work?

Yes. The plugin is translation-ready and loads its own text domain. All static text can be translated using standard WordPress translation tools. Customer names, product names, and order data are passed through as-is from WooCommerce.

Reviews

13, Abril de 2026 1 reply
Damn, it has been updated after a long time. Could you please also add info about payment method option which was used to complete transaction? And could you also allow us to select what informations we want to send via webhook? For example not everyone might want to sent webhooks with information such as email and name, surname. I think it would be also cool to add option to customize how webhook look (colors, fonts and so on) and which info is shown first from top to the bottom, for example email first instead of order number… Thanks in advance.
Read all 3 reviews

Contributors & Developers

“Notifications on Discord for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

“Notifications on Discord for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Notifications on Discord for WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.0

  • New Feature: Added WooCommerce Subscriptions support – notifications for Active, On Hold, Cancelled, Expired, Pending Cancellation, Renewal Payment Complete, and Renewal Payment Failed subscription events
  • New Feature: Added Discord notification log with enable/disable toggle, configurable auto-purge retention period (default 7 days), manual purge option, and daily cron cleanup
  • New Feature: Added low stock alert notifications – sends a dedicated embed to Discord when a product hits its WooCommerce low stock threshold
  • New Feature: Added new customer notifications – fires on a customer’s first-ever order, covering both registered and guest customers
  • New Feature: Added @mention support per status – specify @here, @everyone, or a Discord role ID to ping your team for critical events
  • New Feature: Added minimum order value filter – only send notifications for orders above a configured threshold
  • New Feature: Added test notification button per webhook – sends a live test embed to Discord directly from the settings page
  • New Feature: Added status-specific embed colours – green for completed/active/renewals, amber for pending/on-hold, red for failed/cancelled/expired, grey for refunded
  • New Feature: Added customer details to order and subscription embeds – customer name, email, and country with flag emoji
  • New Feature: Added ppsndw_woo_discord_payload filter to allow customisation of the data sent to Discord
  • New Feature: Added ppsndw_woo_discord_low_stock_payload filter for low stock notification customisation
  • New Feature: Added uninstall.php – removes log table, all plugin options, and scheduled cron events when the plugin is deleted (opt-in via settings)
  • Enhancement: Redesigned settings page with tabbed layout (Notifications and Logs), compact single-row-per-status table, and section headings
  • Enhancement: Moved settings page under the WooCommerce menu
  • Enhancement: Added Discord embed field truncation to respect API limits (title 256 chars, field values 1024 chars), preventing silent rejections with long product lists
  • Enhancement: Added response code capture – the HTTP status returned by Discord is now logged alongside each notification entry
  • Enhancement: Added edit_url storage in the log table at write time, ensuring HPOS-compatible order links in the log view without extra queries
  • Enhancement: Added load_plugin_textdomain() so translation files in /languages are properly loaded
  • Enhancement: Updated Tested Up To for WordPress 6.8 and WooCommerce 9.4
  • Security: Escaped all dynamic output in the settings page with esc_html(), esc_attr(), and wp_kses_post()
  • Security: Sanitize webhook URLs with esc_url_raw() instead of sanitize_text_field()
  • Security: Replaced date() with gmdate() for timezone-safe timestamp generation
  • Security: Added defined(‘ABSPATH’) || exit guard to all PHP include files to prevent direct file access
  • Enhancement: Declared WooCommerce High-Performance Order Storage (HPOS) compatibility
  • Enhancement: Replaced new WC_Order() with wc_get_order() for WooCommerce HPOS compatibility
  • Enhancement: Order edit URL now uses the WooCommerce native method compatible with HPOS
  • Enhancement: Fixed country flag emoji generation to use pure PHP UTF-8 encoding, removing the mbstring extension requirement
  • Bug Fix: Cancelled order status settings were incorrectly mapped to refunded option IDs, preventing cancelled notifications from working
  • Bug Fix: Fixed new customer notification hook – switched from woocommerce_checkout_order_created to woocommerce_new_order to cover admin-created and REST API orders

1.0.1

  • Enhancement: Updated Tested Up To for WordPress core and WooCommerce

1.0.0

  • Initial release