No signup required

Test Shopify Webhooks With the Delivery Context Intact

Send a Shopify webhook to a temporary CatchHook endpoint and see its topic, shop domain, delivery ID, API version, headers, and JSON payload together. Save the endpoint for HMAC verification, replay, Actions, and longer history.

Your Shopify Test Endpoint

Shopify events detected automatically
Expires in2 days
npx @catchhook/tunnel ep_neqaRo3YOkmxSn7gGP257M69 --key tkey_58362833f8e5725da4c532740038e0a6 --port 3000
Test Your Endpoint
curl -X POST https://temp.catchhook.app/hooks/ep_neqaRo3YOkmxSn7gGP257M69 \
  -H "Content-Type: application/json" \
  -H "X-Shopify-Topic: orders/create" \
  -H "X-Shopify-Shop-Domain: example-store.myshopify.com" \
  -H "X-Shopify-Webhook-Id: 7c8d573d-1575-4c09-9ac5-2a1f8467c082" \
  -H "X-Shopify-Event-Id: 2fd4a9ae-68d2-4d1c-9e64-b4ddff112c89" \
  -H "X-Shopify-Api-Version: 2026-07" \
  -H "X-Shopify-Triggered-At: 2026-07-24T18:30:00Z" \
  -d '{
  "id": 820982911946154508,
  "admin_graphql_api_id": "gid://shopify/Order/820982911946154508",
  "order_number": 1001,
  "currency": "USD",
  "financial_status": "paid"
}'

Or

to see it appear in real time below.

Live Webhook Requests

Watch requests stream in automatically with full headers, payloads, and timestamps.

Streaming Live

Updates automatically

Waiting for your first webhook...

Send a test request using the cURL command above or configure Shopify to use your endpoint URL.

How to test Shopify webhooks with Catchhook

Follow these steps to start receiving Shopify events on your temporary endpoint.

1

Create your temporary endpoint

Copy the HTTPS CatchHook URL above. The demo endpoint lasts for two days and does not require an account.

2

Create a Shopify webhook subscription

Register the CatchHook URL as the callback URI for the topics your app needs. Shopify recommends app-specific webhook subscriptions; use the current Shopify developer documentation for the Admin API or app configuration flow you use.

orders/create orders/updated products/create products/update fulfillments/create refunds/create inventory_levels/update app/uninstalled
3

Trigger a real store event

Create or update a test order, product, fulfillment, refund, or inventory level in a development store. CatchHook identifies classic HTTPS deliveries from their X-Shopify headers.

4

Inspect delivery context

CatchHook shows the Shopify topic, shop domain, delivery ID, event ID, API version, trigger time, and a bounded resource identifier when it is safe and unambiguous. The full original request remains available below.

5

Verify and deliver to your app

Save the endpoint and configure your Shopify app client secret to verify the raw request body. Run the CatchHook tunnel when you want the captured webhook delivered to your local application.

Useful Shopify topics to test

Order events

  • order ingestion
  • payment workflows
  • fulfillment automation
X-Shopify-Topic: orders/create

Product events

  • catalog synchronization
  • search indexing
  • inventory workflows
X-Shopify-Topic: products/update

Fulfillment and refund events

  • shipping updates
  • customer notifications
  • financial reconciliation
X-Shopify-Topic: fulfillments/create

App lifecycle events

  • uninstall cleanup
  • access revocation
  • integration monitoring
X-Shopify-Topic: app/uninstalled

Common Shopify webhook problems this helps debug

Catchhook helps you diagnose these issues before they reach production.

The webhook does not arrive

  • The subscription callback URI matches the CatchHook endpoint
  • The app is subscribed to the expected topic
  • The event happened after the subscription was created
  • The Shopify delivery log shows an HTTPS attempt

HMAC verification fails

Shopify signs the exact raw request body with your app client secret. Read and verify those bytes before JSON parsing or middleware changes them. A saved CatchHook endpoint can verify X-Shopify-Hmac-Sha256 and distinguish a failed signature from a missing or unconfigured one.

Duplicate processing occurs

Use Shopify delivery metadata to make processing idempotent and trace retries:

  • X-Shopify-Webhook-Id identifies a delivery
  • X-Shopify-Event-Id correlates deliveries from the same merchant action
  • X-Shopify-Triggered-At records when Shopify triggered the webhook
  • CatchHook replay can create a new delivery ID without changing the commerce resource ID

The local handler is hard to debug

Capture the Shopify request on CatchHook first, then run the CatchHook tunnel to stream it to your local server. The hosted request history stays available while your application restarts, raises an exception, or returns a non-2xx response.

What you get for free

Free / no signup

  • temporary Shopify webhook URL
  • live request inspection
  • headers and JSON payload view
  • Shopify topic and shop detection
  • delivery ID and API version context
  • generated cURL test
  • localhost tunnel command
  • short-lived request history

Signup / free trial

  • permanent endpoint URL
  • Shopify HMAC verification
  • longer retention
  • safe replay controls and replay guidance
  • conditional Endpoint Actions using normalized Shopify fields
  • semantic request comparison
  • alerts and production monitoring
  • MCP diagnostics for AI editors

When to create a permanent endpoint

Use the temporary endpoint while integrating. Save it when you need a stable Shopify callback URL, HMAC verification, replay, Actions, alerts, longer retention, or team access.

Save This Shopify Endpoint

Frequently Asked Questions

Ready for Production Webhooks?

Plans start at $10/month with a 14-day free trial. No credit card required.

Conditional Endpoint Actions, CSV/JSON export, custom domains, outbound webhooks, AI debugging, and a full REST API.