E-commerce
WooCommerce Webhooks
WordPress e-commerce plugin. Receive events for orders, products, customers, and coupons.
Connecting WooCommerce to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into WooCommerce. Then:
- 1Go to WooCommerce → Settings → Advanced → Webhooks
- 2Click "Add webhook" and set status to Active
- 3Select the topic (e.g., Order created) and paste your Hookbase ingest URL
- 4Set a Secret and add it to your Hookbase source
- 5Click Save webhook
Signature verification
WooCommerce signs its webhooks with HMAC-SHA256 (base64) in X-WC-Webhook-Signature, and Hookbase has no verifier for that combination today. We would rather say so here than let a source report every event as verified while nothing was checked.
What you can do:
- Receive them on a
customsource with no signing secret. Hookbase still dedupes, retries, transforms, routes and replays them; it just does not vouch for the sender. - Set a signing secret anyway if WooCommerce can be configured to send a hex HMAC-SHA256 of the raw body in
X-Signature,X-Webhook-SignatureorX-Hub-Signature-256— that is the one scheme the custom verifier implements. - Verify downstream: the original headers travel with the event, so your own service or a transform can check the signature itself. The key is at WooCommerce → Settings → Advanced → Webhooks → Secret.
- Narrow the blast radius with an IP allowlist and a hard-to-guess source slug.
WooCommerce event types
8 of the events people route most often. Hookbase accepts every event WooCommerce sends, whether or not it is listed here.
order.created
A new order was placed
order.updated
An order was updated
order.deleted
An order was deleted
product.created
A product was created
product.updated
A product was updated
customer.created
A new customer registered
customer.updated
A customer was updated
coupon.created
A coupon was created
What a WooCommerce webhook looks like
A order.created payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"id": 727,
"status": "processing",
"currency": "USD",
"total": "59.97",
"billing": {
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"city": "Portland",
"state": "OR"
},
"line_items": [
{
"name": "Premium Widget",
"quantity": 3,
"total": "59.97",
"sku": "WGT-001"
}
],
"payment_method": "stripe",
"date_created": "2024-01-15T10:30:00"
}Start receiving WooCommerce webhooks
Create a source, paste the URL into WooCommerce, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free