Skip to main content

Webhook de Transação

Webhooks são notificações automáticas que a API envia quando um evento da transação acontece.

Esta página segue o contrato atual da API: o payload base é o mesmo em todos os eventos e o que muda é o prefixo do evento e os campos extras de cada etapa.

Se você trabalha com depósitos, veja Webhook de Depósito.

Eventos suportados

EventoQuando é enviado
TRANSACTION_CREATEDQuando a transação é criada
TRANSACTION_PAIDQuando a transação é paga
TRANSACTION_INFRACTIONQuando a transação entra em infração
TRANSACTION_REFUNDEDQuando a transação é estornada

Formato do payload

CampoTipoObrigatórioDescrição
typestring (enum) - TRANSACTION_CREATED, TRANSACTION_PAID, TRANSACTION_INFRACTION, TRANSACTION_REFUNDEDSimTipo do evento enviado no webhook
dataobjectSimDados da transação

O campo type na raiz identifica o evento. Dentro de data, o campo type identifica a operação da entidade.

Payload base

Esses campos estão presentes em todos os webhooks de transação.

CampoTipoObrigatórioDescrição
idstring (UUID)SimIdentificador único da transação
amountnumberSimValor da transação, em centavos
paymentMethodstring (enum) - PIXSimMétodo de pagamento
externalCodestringSimCódigo de referência externo enviado pela integração
isInfoProductbooleanSimIndica se a transação é de produto digital
createdAtstring (ISO)SimData de criação
statusstring (enum) - PENDING, PIX_QRCODE_GENERATED, PAID, PROCESSING_REFUND, PROCESSING_INFRACTION, REFUNDED, INFRACTION, FAILED, BLOCKEDSim
  • PENDING: transação criada, aguardando processamento
  • PIX_QRCODE_GENERATED: QRCode PIX gerado, aguardando pagamento
  • PAID: transação paga
  • PROCESSING_REFUND: estorno em processamento
  • PROCESSING_INFRACTION: infração em processamento
  • REFUNDED: transação estornada
  • INFRACTION: transação estornada (MED)
  • FAILED: erro no processamento
  • BLOCKED: bloqueado devido à abertura de MED
typestring (enum) - TRANSACTIONSimTipo da operação

Variações por evento

TRANSACTION_CREATED

Usa apenas o payload base.

TRANSACTION_PAID

Além do payload base, adiciona:

CampoTipoObrigatórioDescrição
endToEndstringNãoIdentificador end-to-end da transação
amountPaidnumberSimValor efetivamente pago
paymentDatestring (ISO)NãoData do pagamento
payerobjectNãoDados do pagador (ver Sub-Objetos AccountHolder)
paymentReceiptstringNãoURL do comprovante de pagamento

TRANSACTION_INFRACTION

Além do payload base, adiciona:

CampoTipoObrigatórioDescrição
endToEndstringNãoIdentificador end-to-end da transação
infractionAmountnumberSimValor da infração
infractionDatestring (ISO)NãoData da infração

TRANSACTION_REFUNDED

Além do payload base, adiciona:

CampoTipoObrigatórioDescrição
endToEndstringNãoIdentificador end-to-end da transação
refundAmountnumberSimValor do estorno
refundDatestring (ISO)NãoData do estorno
endToEndRefundstringNãoIdentificador end-to-end do estorno
refundReceiptstringNãoURL do comprovante de estorno

Sub-Objetos

AccountHolder

CampoTipoObrigatórioDescrição
typestring (enum) - PF, PJSimTipo do titular
namestringSimNome do titular
documentstringSimDocumento do titular
bankAccountobjectSimDados bancários (ver Sub-Objeto BankAccount)
pixobjectSimChave PIX do titular (ver Sub-Objeto PixKeyVo)

BankAccount

CampoTipoObrigatórioDescrição
typestringSimTipo de conta
digitstringSimDígito da conta
ispbstringSimISPB do banco

PixKeyVo

CampoTipoObrigatórioDescrição
keystringSimChave PIX
typestringSimTipo da chave PIX

Exemplo de payload

Dados mascarados

Valores sensíveis podem estar mascarados com ***.

{
"type": "TRANSACTION_PAID",
"data": {
"id": "553e8400-e29b-41d4-a716-436251480000",
"amount": 10000,
"paymentMethod": "PIX",
"externalCode": "TRANS-123",
"isInfoProduct": false,
"createdAt": "2026-03-06T12:49:04.681Z",
"status": "PAID",
"type": "TRANSACTION",
"endToEnd": "E2E123456789",
"amountPaid": 10000,
"paymentDate": "2026-03-06T12:49:04.681Z",
"paymentReceipt": "https://files.exemplo.com.br/receipts/transaction-553e8400-e29b-41d4-a716-436251480000.pdf",
"payer": {
"type": "PF",
"name": "Fulano de Tal",
"document": "***456789**",
"bankAccount": {
"type": "CHECKING",
"digit": "7",
"ispb": "12345678"
},
"pix": {
"key": "12345678910",
"type": "CPF"
}
}
}
}