Documentação do Webhook de Infração
Visão Geral
Nosso sistema de webhook envia notificações em tempo real sobre infrações detectadas em transações. Quando uma infração é identificada, uma requisição POST é enviada para a URL configurada com informações detalhadas da ocorrência.Payload do Webhook
O webhook envia um payload JSON contendo os detalhes da infração e da transação relacionada.Exemplo de Payload
Descrição dos Campos
Informações da Transação
transactionId(string): Identificador único da transação no formato UUIDtransactionStatus(string): Status atual da transação. Valores possíveis:MED: Transação solicitada MED
transactionType(string): Tipo da transação, neste caso “CASH_IN”value(string): Valor da transaçãoexternalId(string): ID de referência externa fornecido pelo clientemedStatus(string): Status do MED. Valores possíveis:ACKNOWLEDGED: Quando a solicitação do MED é recebidaCANCELLED: Quando o MED é cancelado e o valor estornado para contaDEBITED: Quando a defesa do MED não é aceita e o valor enviado para o cliente.
Resolução da disputa (após envio da defesa)
Quando o parceiro responde à solicitação de MED via API de Disputa de MED, o resultado final do PSP é entregue por este mesmo webhook. O payload inclui oexternalId original e o e2e_id da transação.
Exemplo de Payload
Valores de medStatus após a defesa
| medStatus | Quando ocorre |
|---|---|
DEFENSE_SUBMITTED | Defesa entregue ao PSP com sucesso (logo após o PATCH /med-contest/exposes/{medId}). |
APPROVED | PSP aceitou a defesa — valor permanece com o parceiro. |
REJECTED | PSP rejeitou a defesa — estorno realizado em favor do reclamante. |
REFUNDED | Estorno efetivamente devolvido ao reclamante (pode chegar junto ou após REJECTED). |
CANCELLED | MED cancelado — o valor é estornado para a conta do parceiro. |
Segurança: Verificação de Assinatura
Toda requisição deste webhook é assinada com HMAC-SHA256 (headerX-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
Valide a assinatura HMAC (
X-Webhook-Signature) antes de processar — veja Segurança dos WebhooksO Webhook deve retornar Status Code 200
Consulta de Comprovante
Endpoint
Parâmetros do Path
transactionId(string): Identificador único da transação no formato UUID
Exemplo de Requisição
Resposta de Sucesso
- Status Code: 200 OK
Descrição dos Campos da Resposta
status(string): Status da requisiçãodata(object): Objeto contendo os dados do comprovantereceipt(string): Conteúdo do comprovante em formato base64mimeType(string): Tipo do arquivo do comprovante (application/pdf)
Observações
- O campo
receiptcontém o arquivo PDF codificado em base64 - Para visualizar o comprovante, é necessário decodificar o conteúdo base64 para PDF