Skip to content

Shopify Webhooks

Shopify sends notifications for orders, products, and app lifecycle events. HookNexus lets you inspect JSON payloads and HMAC headers while you build or debug integrations.

Prerequisites

  • A Shopify store (development store is fine)
  • Admin access to SettingsNotifications (or app-based webhook registration)
  • HookNexus URL: https://api.hooknexus.com/h/{endpoint-id}

Register a webhook in Shopify Admin

  1. Open webhooks

    In Shopify Admin go to SettingsNotifications → scroll to Webhooks (exact layout can vary by Shopify plan and version).

  2. Create webhook

    Click Create webhook (or Add webhook).

  3. Set the URL

    https://api.hooknexus.com/h/YOUR_ENDPOINT_ID
  4. Choose format

    Select JSON for the payload format.

  5. Select a topic

    Pick a topic (see Common topics). Start with something easy to trigger, e.g. a product update or test order in a dev store.

  6. Save

    Save the webhook. Perform an action in the store that fires the topic and confirm the request appears in HookNexus.

HMAC verification

Shopify signs the raw body with HMAC-SHA256 using your app’s client secret (or webhook secret, depending on registration method).

  • Header: X-Shopify-Hmac-Sha256
  • Value: Base64-encoded HMAC-SHA256 digest of the raw body
  1. Copy the raw body from the HookNexus request detail view.
  2. Use HookNexus Verify Signature with provider Shopify and your secret.
  3. Compare the result to the header value.
Terminal window
curl -X POST https://api.hooknexus.com/api/verify-signature \
-H "Content-Type: application/json" \
-d '{
"provider": "shopify",
"payload": "<raw body>",
"signature": "<X-Shopify-Hmac-Sha256>",
"secret": "your_client_secret_or_webhook_secret"
}'

Common topics

TopicWhen it fires
orders/createNew order
products/updateProduct fields change
app/uninstalledMerchant uninstalls your app

Browse Shopify’s webhook topic list for the full catalog for your API version.

Mandatory webhooks (GDPR)

Shopify requires certain mandatory privacy webhooks for public apps (e.g. customer data requests, redaction). You must register endpoints that respond correctly to these topics.

Typical mandatory topics include (names may vary by API version—verify in Shopify’s current docs):

  • Customer data request
  • Customer redaction
  • Shop redaction

Troubleshooting

SymptomWhat to check
No deliveryConfirm topic fires (e.g. create a test order); check webhook is active in Admin.
401/403 from Shopify to your appNot applicable to HookNexus URL—if you forward to your app, ensure your app returns 2xx quickly.
HMAC mismatchUse the correct secret for that app/installation; verify raw body byte-for-byte.
Wrong shopInspect X-Shopify-Shop-Domain and compare to your dev store.

Log X-Shopify-Topic and X-Shopify-Webhook-Id in your final app for traceability—HookNexus shows full headers for every delivery.