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.
De signatuur server-side verifiëren
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.