WebhookToolkit
Shopify

Testar um webhook Shopify localmente

Desenvolver um app Shopify envolve lidar com os webhooks dele (pedidos, produtos) — sem criar pedidos reais a cada teste. Gere um evento Shopify assinado (X-Shopify-Hmac-Sha256, base64), edite o payload e envie para o seu servidor local para validar sua verificação HMAC.

🔒 Shopify é exclusivo do plano Pro — Liberar
Gere a assinatura para ver os headers, o body e o comando cURL pronto para colar.

Verificar a assinatura no servidor

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));

Para receber um webhook real da Shopify localmente, registre a URL do seu túnel Relay no seu app Shopify.

Perguntas frequentes

Como simular um pedido Shopify localmente?

Escolha o evento orders/create, cole a chave secreta do seu app, informe a URL do seu handler local (via Relay) e envie. O header X-Shopify-Hmac-Sha256 é calculado em HMAC-SHA256 codificado em base64, exatamente como a Shopify faz.

O HMAC da Shopify é em hex ou base64?

Em base64, diferente de Stripe ou GitHub, que usam hexadecimal. O gerador produz a codificação certa automaticamente.

Quais eventos estão disponíveis?

orders/create e products/update são fornecidos, com o header X-Shopify-Topic correspondente. Você pode editar livremente o payload JSON.

A Shopify é grátis?

A Shopify faz parte dos presets premium, disponíveis com o plano Pro por 14,90 €/mês.

Testar um webhook Shopify localmente — X-Shopify-Hmac-Sha256 válido · Webhook Toolkit