VersellAPI

Exemplos de Teste de Webhook

Esses payloads simulam o que a Versell envia para seu endpoint de webhook. Use-os para desenvolvimento e testes locais.

Cash In — Pix Recebido

Este payload é enviado quando um Pix é recebido na sua chave. Ele chega no endpoint de webhook que você configurou para Cash In.

{
  "pix": [
    {
      "endToEndId": "E12345678202301011234abcdef12345",
      "txid": "txid-exemplo-12345",
      "chave": "sua-chave-pix",
      "valor": "50.00",
      "horario": "2025-01-15T10:30:00.000Z",
      "pagador": {
        "cpf": "12345678909",
        "nome": "Nome do Pagador"
      },
      "infoPagador": "Pagamento referente ao pedido #12345"
    }
  ]
}
CampoTipoDescrição
endToEndIdstringIdentificador único da transação no Banco Central
txidstringIdentificador da cobrança (definido na criação do QR Code)
chavestringChave Pix que recebeu o pagamento
valorstringValor do Pix em reais (formato decimal com ponto)
horariostring (ISO 8601)Data e hora em que o Pix foi recebido
pagador.cpfstringCPF do pagador
pagador.nomestringNome do pagador
infoPagadorstringMensagem opcional enviada pelo pagador

Cash Out — Transferência Liquidada

Enviado quando uma transferência Pix de saída é liquidada com sucesso.

{
  "event": "TRANSFER_SETTLED",
  "data": {
    "idempotencyKey": "key-exemplo-12345",
    "amount": 1000,
    "status": "SETTLED",
    "endToEndId": "E12345678202301011234abcdef12345",
    "settledAt": "2025-01-15T10:35:00.000Z"
  }
}
CampoTipoDescrição
eventstringTipo do evento — TRANSFER_SETTLED para liquidação
data.idempotencyKeystringChave de idempotência enviada na criação da transferência
data.amountnumberValor em centavos (1000 = R$ 10,00)
data.statusstringStatus da transferência — SETTLED indica sucesso
data.endToEndIdstringIdentificador único da transação no Banco Central
data.settledAtstring (ISO 8601)Data e hora da liquidação

Cash Out — Transferência Cancelada

Enviado quando uma transferência Pix de saída é cancelada ou rejeitada.

{
  "event": "TRANSFER_CANCELLED",
  "data": {
    "idempotencyKey": "key-exemplo-67890",
    "amount": 500,
    "status": "CANCELLED",
    "endToEndId": "E98765432202301011234abcdef67890",
    "cancelledAt": "2025-01-15T11:00:00.000Z"
  }
}
CampoTipoDescrição
eventstringTipo do evento — TRANSFER_CANCELLED para cancelamento
data.idempotencyKeystringChave de idempotência enviada na criação da transferência
data.amountnumberValor em centavos (500 = R$ 5,00)
data.statusstringStatus da transferência — CANCELLED indica cancelamento
data.endToEndIdstringIdentificador único da transação no Banco Central
data.cancelledAtstring (ISO 8601)Data e hora do cancelamento

Dicas de Teste

*
Use o ngrok ou ferramentas similares (localtunnel, Cloudflare Tunnel) para expor seu servidor local na internet e receber webhooks reais durante o desenvolvimento.
!
Sempre valide o header X-Webhook-Secret em produção. Nunca processe payloads de webhook sem verificar que o secret corresponde ao valor configurado na sua conta Versell.

Para testar localmente, inicie seu servidor e use os comandos cURL acima diretamente no terminal. Siga este fluxo:

  1. Inicie seu servidor local (ex: npm run dev)
  2. Copie um dos comandos cURL acima e execute no terminal
  3. Verifique os logs do servidor para confirmar que o payload foi recebido e processado
  4. Teste cenários de erro alterando o header X-Webhook-Secret para um valor incorreto