Tester un webhook Shopify en local
Développer une app Shopify implique de gérer ses webhooks (commandes, produits) — sans créer de vraies commandes à chaque test. Génère un event Shopify signé (X-Shopify-Hmac-Sha256, base64), édite le payload et envoie-le à ton serveur local pour valider ta vérification HMAC.
Vérifier la signature côté serveur
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));Pour recevoir un vrai webhook Shopify en local, enregistre l'URL de ton tunnel Relay dans ton app Shopify.
Questions fréquentes
Comment simuler une commande Shopify en local ?
Choisis l'event orders/create, colle ta clé secrète d'app, indique l'URL de ton handler local (via Relay) et envoie. Le header X-Shopify-Hmac-Sha256 est calculé en HMAC-SHA256 encodé en base64, exactement comme Shopify.
Le HMAC Shopify est-il en hex ou base64 ?
En base64, contrairement à Stripe ou GitHub qui utilisent de l'hexadécimal. Le générateur produit le bon encodage automatiquement.
Quels events sont disponibles ?
orders/create et products/update sont fournis, avec le header X-Shopify-Topic correspondant. Tu peux éditer librement le payload JSON.
Shopify est-il gratuit ?
Shopify fait partie des presets premium, disponibles avec le plan Pro à 14,90 €/mois.