WebhookToolkit
Shopify

Een Shopify-webhook lokaal testen

Een Shopify-app ontwikkelen betekent zijn webhooks beheren (bestellingen, producten) — zonder bij elke test echte bestellingen aan te maken. Genereer een gesigneerd Shopify-event (X-Shopify-Hmac-Sha256, base64), bewerk de payload en stuur het naar je lokale server om je HMAC-verificatie te valideren.

🔒 Shopify is voorbehouden aan het Pro-plan — Ontgrendelen
Genereer de signatuur om de headers, de body en het kant-en-klare cURL-commando te zien.

De signatuur server-side verifiëren

handler.js (Node)
import crypto from 'crypto';
const hmac = req.headers['x-shopify-hmac-sha256'];
const digest = crypto
  .createHmac('sha256', process.env.SHOPIFY_SECRET)
  .update(rawBody, 'utf8')
  .digest('base64');
const ok = crypto.timingSafeEqual(Buffer.from(hmac), Buffer.from(digest));

Om een echte Shopify-webhook lokaal te ontvangen, registreer je de URL van je Relay-tunnel in je Shopify-app.

Veelgestelde vragen

Hoe simuleer ik een Shopify-bestelling lokaal?

Kies het event orders/create, plak je app-secret, geef de URL van je lokale handler op (via Relay) en verstuur. De X-Shopify-Hmac-Sha256-header wordt in HMAC-SHA256 berekend en base64-gecodeerd, precies zoals Shopify.

Is de Shopify-HMAC in hex of base64?

In base64, anders dan Stripe of GitHub die hexadecimaal gebruiken. De generator produceert automatisch de juiste codering.

Welke events zijn beschikbaar?

orders/create en products/update worden geleverd, met de bijbehorende X-Shopify-Topic-header. Je kunt de JSON-payload vrij bewerken.

Is Shopify gratis?

Shopify behoort tot de premium presets, beschikbaar met het Pro-plan voor 14,90 €/maand.

Een Shopify-webhook lokaal testen — geldige X-Shopify-Hmac-Sha256 · Webhook Toolkit