Create a Webhooktrap inbox
Create a new inbox from the Webhooktrap dashboard, or use the API:Copy the full ingest URL from the response:Your ingest URL is
https://webhooktrap.dev/i/xK9m2pQ7nR4a.Add the ingest URL in Shopify Admin
- Open your Shopify Admin and navigate to Settings → Notifications.
- Scroll to the Webhooks section at the bottom of the page and click Create webhook.
- Paste your Webhooktrap ingest URL into the URL field.
- Set the Format to
JSON. - Click Save — Shopify will send a verification request to your ingest URL to confirm it’s reachable.
If you’re using the Shopify Admin API instead of the dashboard, set the
address field of your webhook subscription to your Webhooktrap ingest URL.Choose an event topic
Select the event topic you want to subscribe to from the Event dropdown. Common topics include:
orders/create— fires when a new order is placedorders/updated— fires when an order is modifiedfulfillments/create— fires when a shipment is createdproducts/create— fires when a new product is addedcustomers/create— fires when a new customer account is created
Trigger the event
Perform the corresponding action in your Shopify store to fire the webhook. For
orders/create, place a test order using a payment gateway in test mode. For other topics, create or update the relevant resource through the Shopify Admin.Inspect the payload in Webhooktrap
Open your Webhooktrap dashboard and click the event that arrived. Look for these Shopify-specific headers:
X-Shopify-Hmac-Sha256— the HMAC-SHA256 signature of the payload bodyX-Shopify-Shop-Domain— the.myshopify.comdomain of the sending storeX-Shopify-Topic— the event topic, e.g.orders/createX-Shopify-Webhook-Id— a unique identifier for this webhook delivery
Preserved Shopify headers
Webhooktrap storesX-Shopify-Hmac-Sha256 and X-Shopify-Shop-Domain verbatim on every captured request. This means you can replay a real Shopify event to your local handler and run your actual HMAC verification against the stored signature — without needing a live event from Shopify to hit your server directly.
Example orders/create payload
Here is an abridged example of what aorders/create event body looks like in your Webhooktrap inbox:
