Skip to main content

Documentation Index

Fetch the complete documentation index at: https://bobprince.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Setup

1

Open Notifications settings

In your Shopify Admin, go to Settings → Notifications, then scroll down to the Webhooks section.
2

Add a webhook

Click Create webhook.
3

Select the event

Choose the event you want to capture from the Event dropdown.
4

Paste your Hookdrop URL

Enter your Hookdrop capture URL in the URL field:
https://hookdrop.dev/in/{your-token}
5

Save

Make sure the format is set to JSON, then click Save. Repeat for each event you want to capture.

Common events

EventWhen it fires
orders/createNew order placed
orders/paidOrder payment completed
products/updateProduct details updated
customers/createNew customer registered
refunds/createRefund issued on an order

Verifying signatures

Shopify signs each webhook with an HMAC-SHA256 signature in the X-Shopify-Hmac-SHA256 header. Verify it before processing events in your handler:
import crypto from 'crypto'

const verifyShopifyWebhook = (payload: string, signature: string, secret: string) => {
  const hash = crypto.createHmac('sha256', secret).update(payload).digest('base64')
  return hash === signature
}
Your webhook secret is listed in Settings → Notifications → Webhooks under the webhook details.
Shopify requires you to respond with a 200 status within 5 seconds, or it will mark the delivery as failed and retry. Hookdrop responds immediately on your behalf, so all deliveries are captured — even if your downstream handler is slow or offline.

Inspecting order payloads

Use the Hookdrop dashboard to inspect full order payloads during development. Shopify’s orders/create and orders/paid events include detailed line item, customer, and shipping data that can be difficult to reproduce manually.