Skip to main content
Os eventos de cobrança são enviados no formato v2 para as cobranças de pedidos criados por POST /v2/orders e das faturas de assinaturas criadas por POST /v2/subscriptions. A cobrança de um recurso criado pela v1 gera os mesmos eventos, mas no formato v1 — inclusive charge.expired e charge.canceled.
Em uma assinatura, a cobrança paga de uma fatura gera invoice.paid, e não charge.paid. O estorno de uma cobrança de fatura gera charge.refunded ou charge.partial_refunded.
charge.challenged não existe no formato v2. Ele é entregue no formato v1, mesmo para cobranças de recursos criados pela v2.

Payload

Diferente dos demais eventos, o data dos eventos de cobrança não é o objeto de GET /v2/charges/{id}. Ele traz um payload próprio, com dados do cliente, do cartão e da transação:
charge.paid
O vocabulário do webhook de cobrança é diferente do da API: aqui o método é credit_card (na API, card) e o estorno parcial é partial_refunded (na API, partially_refunded).
Sem cartão vinculado, o webhook envia "card": null. Nas respostas da API (GET /v2/charges/{id} e payments[] de pedidos e faturas), a chave card não aparece. Trate os dois casos no seu código. O id do cartão não é enviado.

Status da cobrança no webhook