mockdock.dev

~/tools / 07 / shopify-order-creation

Shopify Webhook Simulator

Spinning up a dev store and tunneling ngrok just to see one webhook body is a tax on every Shopify app developer. Skip it: these templates mirror the orders/create and refunds/create topics — line items, money fields as strings (yes, Shopify sends "42.00"), customer objects, and the X-Shopify-Topic headers your router switches on.

compose payload

— validating —

exported mock url

—

▸ open mock ↗
simulated response headers
content-type: application/json
x-shopify-topic: orders/create
x-shopify-shop-domain: mockdock-demo.myshopify.com
x-shopify-hmac-sha256: bW9ja19obWFjX25vdF9yZWFsX3NpZ25hdHVyZQ==
x-shopify-webhook-id: wh_b2c3d4e5-f6a7-4b89

$ man shopify-orders

Everything above is encoded into the #data= fragment of the exported URL — deflated and base64url-packed by your browser. Fragments are never sent to any server, so this mock is shareable and private. Paste the URL anywhere: a teammate's browser decodes it identically.

cat ./tldr.txt

A Shopify webhook simulator generates orders/create and refunds/create payloads with the X-Shopify-Topic and HMAC headers, line items, customer objects, and string-formatted money fields Shopify actually sends, so app handlers can be built without a dev store or tunnel.

./when-to-use-this

  • You are building a Shopify app and want to develop the order handler before setting up a development store and ngrok.
  • A refund handler miscalculates totals and you need to replay the exact refund payload that triggers it.
  • You need to confirm your router switches correctly on the X-Shopify-Topic header.

./frequently-asked

Why are the money fields strings instead of numbers?
Because that is what Shopify sends. Prices, subtotals, and totals arrive as decimal strings such as "58.32" rather than JSON numbers, which avoids floating-point rounding on money. Handlers that assume numbers and do arithmetic directly are a common source of currency bugs, so the templates preserve the real string form.
Can I verify the X-Shopify-Hmac-Sha256 header from these payloads?
The header here is a placeholder, so Shopify HMAC verification will fail. To produce a genuinely verifiable signature over the same body, use the Webhook Header Emulator with your app secret — it computes real HMAC-SHA256 using the Web Crypto API.
Do I need a Shopify Partner account to use this?
No. Nothing here touches Shopify. The payloads are generated entirely in your browser from templates modelled on the documented webhook topics, so you can develop and share handler test cases with no store, no app registration, and no tunnel.

grep -i related-searches

ln -s ./related-tools