POST na callbackUrl informada na criação. O
nome do evento depende do recurso:
O corpo é praticamente o mesmo.
charge.paid traz alguns campos a mais, que vêm do banco.
Campos
string
required
payment.paid ou charge.paid.string
required
Identificador do pagamento. É a chave para reconciliar do seu lado.
number
required
Valor em centavos. Confira contra o esperado antes de entregar.
string
required
Sempre
paid neste evento.string
required
Data e hora da confirmação, em ISO 8601.
object
name, email e externalId, como você informou na criação.string
A string JSON que você mandou, devolvida sem alteração.
number
O mesmo valor em reais, decimal. Conveniência para exibição.
string
Descrição informada na criação.
boolean
true quando o evento veio de um endpoint de simulação.Dados do pagador (só em charge.paid)
string
Nome de quem pagou, como consta no banco.
string
Banco de origem, no formato
código - nome.string
Identificador end-to-end da transação no Bacen. Serve para conciliação bancária e para
responder disputa.
string
txid da transação PIX.
Campo opcional é omitido quando não se aplica, e não enviado como
null. Dado sensível
(CPF, telefone, endereço) nunca vai em webhook.Em sandbox
Osimulate-paid sempre envia event: "payment.paid", inclusive ao simular uma cobrança
psc_. O corpo é enxuto: event, paymentId, amountCents, status, paidAt,
customer, metadata e sandbox: true.
Tratando
Pagou com cartão?
O evento é outro e a forma do corpo muda. Vale a leitura antes de escrever um handler
genérico.

