Skip to main content

Como funciona

O sandbox usa o mesmo motor de entrega que produção:
  • Mesma estrutura de payload — veja o contrato completo
  • Mesmos headers (x-event-id, X-NTXPay-Signature)
  • Mesma política de retry (5 tentativas, backoff exponencial, timeout 10s)
  • Mesmo formato de assinatura HMAC
A diferença é a origem: em vez de aguardar liquidação real na rede SPEI, o simulador resolve a transação em segundos — e você controla o desfecho via cenários. A configuração do webhook é idêntica à de produção — registre a URL via POST /api/webhooks-config normalmente.

Duas formas de disparar um webhook

1. Webhook de teste (sem transação)

O jeito mais rápido de validar seu endpoint — dispara uma entrega assinada sem movimentar nada:
A resposta informa na hora se o seu endpoint respondeu 2xx, o tempo de resposta e a assinatura enviada. Varie o status (LIQUIDATED, PENDING, REJECTED, RETURNED) para exercitar cada caminho do handler. Detalhes dos campos em Configuração.

2. Transação simulada (fluxo completo)

Crie um cash-in ou cash-out com o header X-Sandbox-Scenario — o pipeline inteiro roda (saldo, tarifa, extrato) e o webhook chega em segundos com o desfecho escolhido: Veja o catálogo completo de cenários.

Testar dedupe

Cada entrega carrega um x-event-id único. Para testar seu dedupe:
  1. Configure seu handler para retornar 500 na primeira tentativa.
  2. O NTX Pay vai entregar a mesma mensagem novamente (com o mesmo x-event-id).
  3. Confirme que seu sistema ignora a duplicata e responde 200 na segunda tentativa.

Testar a assinatura

Aponte um webhook de teste para o seu endpoint e valide o X-NTXPay-Signature com o secret retornado na criação:
Handlers completos em Node.js, Python, Java e Go: Implementação.

Boas práticas

  1. Valide a assinatura — sempre, mesmo em sandbox.
  2. Use x-event-id para dedupe — o mesmo evento pode ser reentregue.
  3. Não dependa da ordem — webhooks podem chegar fora de ordem após retries.
  4. Exercite os quatro status antes de ir para produção — o sandbox existe para isso.