Todos os eventos são enviados através de uma requisição HTTP/HTTPS POST com o formato JSON no payload.
Seu endpoint precisa retornar um status code de sucesso na resposta, sendo (2xx
) um formato válido, assim consideraremos como entregue. Caso contrário, vamos retentar entregar a notificação mais 2 vezes, depois disso, não vamos mais tentar entregar a notificação deste evento.
O exemplo abaixo é um exemplo de um payload de evento que enviamos.
Transfer
Webhook contendo atualização de informações de uma transação de pagamento via Pix:
{
"id": "7d3aae40-6655-4d9a-801b-d0ab7ae906d7", // Event ID
"version": "v1", // Event payload schema version
"account_id": "d95e7630-1b3c-4ac5-991d-d599d75efdd0", // Event digital account id
"object": "Transfer", // Event object type
"date": "2019-10-01T17:54:39.000Z", // Event date and time
"data": { // Event Payload
"id": "60040",
"value": 100,
"status": "FINALIZADO",
"status_description": null,
"error": null,
"integration_id": "2",
"idempotency_key": "id-2",
"created_at": "2018-10-12T20:09:22.000Z",
"company_id": "a869e038-f04e-4a80-8f3a-d02209f51186",
"batch_id": "1426",
"receipt_url": null,
"bank_receipt_url": null,
"payment_date": null,
"finish_date": null,
"transfer_date": null,
"returned_date": null,
"payment_method": null,
"pix_description": null,
"description": null,
"pix_end2end_id": null,
"emv": null,
"is_withdraw": false,
"authorization_code": null,
"destination_bank_account": {
"id": "32222",
"cpf_cnpj": "***.977.669-**",
"email": null,
"pix_key": "+5547999699336",
"status_description": null,
"status": "CRIADO"
}
}
}
TransferRefund
Webhook contendo atualização de informações sobre uma devolução de transação de pagamento via dados bancários completos:
{
"id": "7d3aae40-6655-4d9a-801b-d0ab7ae906d7", // Event ID
"version": "v1", // Event payload schema version
"account_id": "d95e7630-1b3c-4ac5-991d-d599d75efdd0", // Event digital account id
"object": "TransferRefund", // Event object type
"date": "2019-10-01T17:54:39.000Z", // Event date and time
"data": { // Event Payload
"id": "7d3aae40-6655-4d9a-801b-d0ab7ae906d7", // Statement ID
"value": 50.54, // Payment value
"partial": true, // Payment refund partial or complete
"end2end_id": "E12345asdf123", // Payment end2end ID
"transfer_id": "8", // Payment transfer ID
"integration_id": "abc123", // Payment Integration ID
"payer": {
"name": "João da Silva", // Payment payer name
"document": "***.123.123-**", // Payment payer document (CPF / CNPJ)
"account_type": "CONTA_CORRENTE", // Payment payer account type ("CONTA_CORRENTE", "CONTA_POUPANCA" or "CONTA_PAGAMENTO")
"account": "12345", // Payment payer account number
"account_digit": "9", // Payment payer account number verification digit
"agency": "4321", // Payment payer account agency
"bank": {
"name": "Banco do Brasil", // Payment payer bank name
"code": "001", // Payment payer bank code
"ispb": "00000000" // Payment payer bank ISPB code
}
}
}
}
A propriedade
error
tem a estrutura abaixo e só estará preenchida caso o status da chave seja ERRO:{ "message": "string", "field": "string", "code": "string" }