Backend · Pagamentos

Webhook Mercado Pago Seguro

Valida a assinatura x-signature das notificações do Mercado Pago com HMAC-SHA256, comparação em tempo constante e janela anti-replay. Só libera pedido de pagamento verdadeiro.

Mercado Pago · Webhook · HMAC · 8 testes automatizados · Licença MIT · Criado por FlowCore Soluções LTDA

Como instalar

  1. Funciona onde você já roda Node 18+, Cloudflare Workers, Deno, Bun, Vercel e Netlify Functions. Zero dependência: só fetch e Web Crypto, que já vêm no runtime.
  2. Crie src/lib/webhook-mercadopago.ts Cole o código da aba Código.
  3. Use
    const r = await validarRequestMercadoPago(request, env.MP_WEBHOOK_SECRET);
    if (!r.valido) return new Response("assinatura inválida", { status: 401 });
    // segue: buscar o pagamento pela API e atualizar o pedido
  4. Rode o teste junto O arquivo de teste (aba Teste) cobre 8 cenários. Copie para src/lib/ ao lado e rode:
    npm install -D vitest
    npx vitest run src/lib

Código no GitHub · Biblioteca de códigos

Mais em Pagamentos