transaction_* compartilham o mesmo formato de payload.
Payload dos eventos transaction_*
- transaction_paid
- transaction_created
- transaction_updated
- transaction_refunded
- refund_requested
Prazo de reembolso e datas do pagamento
Os cinco eventos acima carregam, dentro do blocotransaction, o relógio do prazo de reembolso:
string | null
Quando o pagamento foi aprovado, em ISO 8601 UTC (ex.:
2026-09-07T13:10:42.000Z). É de onde a contagem do prazo parte. Vem nulo em transaction_created e em qualquer evento de uma compra que ainda não foi paga — o relógio ainda não começou.number | null
O prazo de reembolso, em dias, que o produto principal tinha vigente no dia do pagamento:
7, 15 ou 30. Vem nulo junto com paidAt antes do pagamento.string | null
O instante em que o prazo de reembolso termina: sempre às
23:59:59 no fuso de Brasília, com o deslocamento explícito no próprio valor — por exemplo 2026-09-22T23:59:59-03:00. Não adivinhe o fuso a partir de outro campo: use o deslocamento que vem no valor. Vem nulo antes do pagamento, junto com paidAt e refundPeriodDays.Nos dois eventos de reembolso
refund_requested e transaction_refunded ganham mais dois campos, no mesmo bloco transaction:
string
Quando o comprador abriu o pedido de estorno, em ISO 8601 UTC. Presente apenas em
refund_requested e transaction_refunded.string | null
Quando o dinheiro efetivamente saiu, em ISO 8601 UTC. Em
refund_requested vem nulo — o estorno foi pedido, mas ainda não executado. Em transaction_refunded vem sempre preenchido. Fora desses dois eventos, o campo não aparece no payload.Campos
string
UUID da entrega (não é o ID da transação). Use-o para garantir idempotência.
string
Nome do evento. Use este campo para rotear o tratamento no seu sistema.
string
Origem do webhook:
user (um webhook que você cadastrou) ou postback (a postbackUrl informada na cobrança).object
object
Dados do cliente:
name, email, phone, document, documentType, purchaseDate.object
Sua empresa:
name, document, documentType.object
Metadados da venda (tipo, recorrência, ofertas). Para transações criadas via API, vem com os valores padrão (
one_time, listas vazias).O payload contém dados pessoais do pagador (
document, payerInfo). Trate-os conforme a LGPD e armazene apenas o necessário.Evento card_declined
Disparado quando uma cobrança no cartão é recusada. Usa um formato próprio, voltado a recuperação/notificação:
Ciclo de status de uma cobrança
1
transaction_created
Você cria a cobrança e recebe este evento quase imediatamente, com
status: "pending". paidAt, refundPeriodDays e refundDeadline vêm nulos.2
transaction_paid
O cliente paga e você recebe este evento com
status: "paid". Libere o pedido aqui. paidAt, refundPeriodDays e refundDeadline já vêm preenchidos — é o início do prazo de reembolso.3
refund_requested (eventual)
Caso o comprador peça o estorno dentro do prazo, você recebe este evento com
refundRequestedAt preenchido e refundedAt nulo.4
transaction_refunded (eventual)
Quando o estorno é executado, você recebe este evento com
refundRequestedAt e refundedAt preenchidos.