Probar un webhook de Shopify en local
Desarrollar una app de Shopify implica gestionar sus webhooks (pedidos, productos) — sin crear pedidos reales en cada prueba. Genera un evento de Shopify firmado (X-Shopify-Hmac-Sha256, base64), edita el payload y envíalo a tu servidor local para validar tu verificación HMAC.
Verificar la firma en el servidor
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));Para recibir un webhook real de Shopify en local, registra la URL de tu túnel Relay en tu app de Shopify.
Preguntas frecuentes
¿Cómo simular un pedido de Shopify en local?
Elige el evento orders/create, pega tu clave secreta de app, indica la URL de tu handler local (vía Relay) y envía. El header X-Shopify-Hmac-Sha256 se calcula en HMAC-SHA256 codificado en base64, exactamente igual que en Shopify.
¿El HMAC de Shopify va en hex o en base64?
En base64, a diferencia de Stripe o GitHub, que usan hexadecimal. El generador produce la codificación correcta automáticamente.
¿Qué eventos están disponibles?
orders/create y products/update están incluidos, con el header X-Shopify-Topic correspondiente. Puedes editar libremente el payload JSON.
¿Shopify es gratis?
Shopify forma parte de los presets premium, disponibles con el plan Pro a 14,90 €/mes.