Eventos Assíncronos

A informação mais importante para os integradores são as mensagens de evento enviadas via webhooks durante as mudanças do ciclo de vida da transação. Esses eventos são enviados para o Webhook URL informado em qualquer solicitação de pagamento.


Webhook de Pagamentos - Payload do Evento

O payload do evento contém um conjunto de atributos que representam o estado atual da transação de origem, conforme apresentado no exemplo abaixo, que representa uma transação que acabou de ser concluída.

{
  "id": "4494a26c-4f21-400a-bbe7-cbef6ea7c3c3",
  "transactionState": "Completed",
  "transactionDate": "2023-08-04T14:45:39.150Z",
  "transactionOrderId": "in-1414870875-158709817091784",
  "transactionOrderDescription": "This is a test order.",
  "transactionReceipt": "https://api.sandbox.paybrokers.solutions/v1/system/e-receipt/4494a26c-4f21-400a-bbe7-cbef6ea7c3c3/receipt.pdf", 
  "transactionReceiptDate": "2023-08-04T14:45:39.047Z",
  "transactionReceiptVoucher": "D6BE9C802C7846029269C485FE23060C",
  "transactionAmount": "50.000000",
  "transactionType": "Credit",
  "transactionPaymentType": "PIX",
  "stateRegisteredDate": "2023-08-04T14:45:34.332Z",
  "stateCompletedDate": "2023-08-04T14:45:39.150Z",
  "stateCancelledDate": null,
  "stateRefundDate": null,
  "stateReversedDate": null,
  "stateErrorDate": null,
  "stateErrorCause": null,
  "webhookUrl": "https://postman-echo.com/post?test=1",
  "payer": {
    "name": "CRISTINA INACIO OLIVEIRA DA CONCEICAO",
    "taxNumber": "14435549603",
    "bankCode": "999",
    "bankName": null,
    "accountAgency": "99999",
    "accountNumber": "99999",
    "accountDigit": "9"
  },
  "recipient": {
    "name": "PayBrokers Cobrança e Serviço em Tecnologia Ltda",
    "taxNumber": "46261360000148",
    "bankCode": "999",
    "bankName": "SANDBOX",
    "accountAgency": "99999",
    "accountNumber": "99999",
    "accountDigit": "9"
  }
}

Uma descrição detalhada é apresentada a seguir.

Nome do campoTipoEstado da transaçãoDescrição
idstringTodos os EstadosUm UID que identifica exclusivamente o evento
transactionStatestringTodos os EstadosO estado da transação atual como: Registered, Canceled, Completed, Reversed ou Error
transactionDatestringTodos os EstadosA data de solicitação da transação
transactionOrderIdstringTodos os EstadosA identificação do pedido enviada pelo integrador durante a solicitação da transação
transactionReceiptstringCompletedA URL de recebimento da transação, uma vez que este webhook notifica uma transação completa
transactionReceiptDatestringCompletedA data de emissão do recibo de pagamento
transactionReceiptVoucherstringCompletedUm código de pagamento fornecido pelo Banco de Emissão
transactionAmountstringTodos os EstadosO valor da transação de origem
transactionChargesstringTodos os EstadosOs valores de taxas aplicáveis à transação
transactionTypestringTodos os EstadosTipo de transação, Credit para Cash In ou Debit para Cash Out
transactionPaymentTypestringTodos os EstadosTipo de pagamento (por exemplo, PIX).
stateRegisteredDatestringTodos os EstadosA data para o estado intermediário quando a transação é registrada no sistema bancário.
stateCancelledDatestringCancelledA data do cancelamento de uma transação se o estado da transação for Cancelado. Vazio caso contrário
stateCompletedDatestringCompletedA data de conclusão de uma transação se o estado da transação for Concluído. Vazio caso contrário
stateRefundDatestringNenhumA data do reembolso de uma transação se o estado da transação for Reembolsado. Vazio caso contrário.
Nota: O estado Refunded existe na API mas não pode ser alcançado. Se você tiver dúvidas, por favor leia a discussão sobre reembolso na seção de ciclo de vida de transação.
stateReversedDatestringReversedA data de uma reversão de transação se o estado da transação for Reversed. Vazio caso contrário.
Nota: O estado Reverted só se aplica a transações em estados intermediários, não para transações em estado final.
stateErrorDatestringErrorA data de um erro de transação se o estado da transação for Erro. Vazio caso contrário
stateErrorCausestringErrorUma chave para uma descrição de erro se o estado for Error. Vazio caso contrário.
Para uma lista completa de erros, por favor visualize os Identificadores de Erros em nosso guia Erros da Plataforma.
webhookUrlstringTodos os EstadosA URL de notificação do Webhook
payer.namestringCompletedO nome do proprietário da conta
payer.taxNumberstringCompletedO número do documento do proprietário da conta
payer.bankCodestringCompletedO código do banco pagador conforme definido pela autoridade do Banco Central no Brasil
payer.bankIspbstringCompletedUm código de seis dígitos do pagador usado para identificar exclusivamente as instituições de pagamento no Brasil (se disponível)
payer.bankNamestringCompletedO nome da instituição pagadora (se disponível)
payer.accountAgencystringCompletedA agência da conta bancária do pagador (se disponível)
payer.accountNumberstringCompletedO número da conta bancária do pagador (se disponível)
payer.accountDigitstringCompletedO dígito de verificação da conta bancária do pagador (se disponível)
payer.accountTypestringCompletedUm texto com um dos seguintes: CheckingAccount, SavingsAccount ou SalaryAccount (se disponível)
recipient.namestringCompletedO nome do portador da conta
recipient.taxNumberstringCompletedO número do documento do portador da conta
recipient.bankCodestringCompletedO código do banco do recebedor, conforme definido pela autoridade do Banco Central no Brasil
recipient.bankIspbstringCompletedO código de seis dígitos para identificar unicamente o banco do recebedor no Brasil (se fornecido)
recipient.bankNamestringCompletedO nome do banco do recebedor (se fornecido)
recipient.accountAgencystringCompletedO identificador da agência bancária do recebedor (se fornecido)
recipient.accountNumberstringCompletedO identificador da conta bancária do recebedor (se fornecido)
recipient.accountDigitstringCompletedO dígito de verificação da conta bancária do recebedor (se fornecido)
recipient.accountTypestringCompletedUm texto com um dos seguintes valores (se fornecido): CheckingAccount, SavingsAccount ou SalaryAccount

Observação: Falhas na entrega da notificação acionam novas tentativas de retirada, ativas durante uma janela de 24 horas. Durante esse período, ou depois disso, o integrador ou merchant também podem reenviar manualmente os eventos do webhook usando o Portal Administrativo, se desejarem.

Tabela de Rentativas para Notificações Webhooks

TentativaIntervalo
11 min e 25 s
24 min e 15 s
39 min e 55 s
421 min e 15 s
543 min e 55 s
61h 30 min
73h
86h
912h
1024h

Por fim, na documentação da API, apresentamos exemplos de payloads de webhook para os estados mais importantes de transação.