Skip to main content

Documentação do Webhook de Cash-in

Visão Geral

Nosso sistema de webhook envia notificações em tempo real sobre transações de cash-in. Quando o status de uma transação é alterado, uma requisição POST é enviada para a URL configurada com informações detalhadas da transação.

Payload do Webhook

O webhook envia um payload JSON contendo os detalhes e status da transação.

Exemplo de Payload

Descrição dos Campos

Informações da Transação

  • transactionId (string): Identificador único da transação no formato UUID
  • transactionStatus (string): Status atual da transação. Valores possíveis:
    • PAID: Transação concluída com sucesso
  • transactionType (string): Tipo da transação, neste caso “CASH_IN”
  • value (string): Valor da transação
  • externalId (string): ID de referência externa fornecido pelo cliente
  • e2e_id (string): Identificador fim-a-fim da transação

Informações da Conta do Pagador

  • debtorAccount (objeto): Informações sobre a conta que está enviando o dinheiro
    • name (string): Nome completo do titular da conta
    • document (string): Número do documento (CPF) parcialmente mascarado
    • accountType (string): Tipo de conta, ex: “TRAN” para conta transacional

Segurança: Verificação de Assinatura

Toda requisição deste webhook é assinada com HMAC-SHA256 (header X-Webhook-Signature), usando o seu api_secret como chave. Valide a assinatura antes de processar o payload para garantir que a notificação veio realmente da 3X Pay e não foi adulterada no caminho.

Guia completo: Segurança dos Webhooks

Headers de segurança, fórmula da assinatura e exemplos de validação (Node.js, Python, PHP).

Boas Práticas

O Webhook deve retornar Status Code 200

Para que a transação tenha seu fluxo finalizado com sucesso é de extrema importância que seja retornado 200 na resposta!