Skip to main content
Toda notificação de webhook carrega um campo type com o código do evento (ex: transaction.paid). Ao cadastrar um webhook, você escolhe quais códigos deseja receber — ou deixa a lista de eventos vazia para receber todos. Esta página lista todos os eventos disponíveis no catálogo oficial. O mesmo catálogo é exposto pela API em GET /webhooks/listeners, então você pode buscá-lo programaticamente em vez de copiar daqui.
O catálogo autoritativo é sempre GET /webhooks/listeners. Esta página é um espelho para consulta rápida; se houver divergência, confie na resposta do endpoint.
refund.* e chargeback.* são assináveis como qualquer outro código — passe-os no array events normalmente. Os agregados transaction.refunded/payment.refunded e transaction.chargeback/payment.chargeback também existem, e contam histórias diferentes: o evento do recurso segue o ciclo próprio dele (um refund.refused não muda a transação), o agregado avisa o efeito no todo. Já os eventos checkout.session.* são internos do Checkout e não são entregues a webhooks; para saber o resultado de um checkout, escute transaction.paid/transaction.refused.
Códigos de evento são case-sensitive e seguem o padrão recurso.acao em minúsculas com _ para separar palavras (ex: subscription.cycle_advanced). Use exatamente os valores desta página ao preencher o array events na criação do webhook.

Estrutura de uma notificação

Independente do evento, o corpo entregue ao seu endpoint tem sempre o mesmo envelope — id, type, data, occurredAt e companyId. O que muda de um evento para outro é só o conteúdo de data, que é o objeto da entidade que o disparou.
Cada campo do envelope está descrito em Recebendo eventos — inclusive por que o id serve de chave de deduplicação e o occurredAt, de critério de ordem. Esta página cobre o outro lado: quais type existem e o que vem em data para cada um.
Se você cadastrou um secret no webhook, cada requisição vem com o header X-Webhook-Signature contendo hex(HMAC-SHA256(secret, rawBody)) calculado sobre o corpo bruto. Veja como validar em Webhooks · Visão geral.

Eventos por recurso

Transação (transaction.*)

Eventos do ciclo de vida de uma transação. O campo data traz o objeto da transação (prefixo txn_).

Pagamento (payment.*)

Eventos do ciclo de vida de um pagamento. O campo data traz o objeto do pagamento (prefixo pay_).

Reembolso (refund.*)

Eventos do ciclo próprio do reembolso — pedido, decisão e liquidação. O campo data traz o objeto do reembolso (prefixo rfd_). Os de dados bancários só acontecem em reembolso de boleto, quando é preciso pedir a conta de destino ao comprador.
O data de todo evento refund.* traz o comprador e o checkout da venda de origemcustomerId, customerName, customerEmail, customerDocument, customerDocumentType e additionalInfo.checkoutLinkId (a mesma chave dos eventos transaction.*), copiados da transação quando o estorno é criado. Você sabe de quem é o estorno e de qual checkout veio a venda lendo só o evento, sem consultar a transação. additionalInfo é nulo em venda criada direto pela API, sem link de checkout — veja Reembolsos.

Chargeback (chargeback.*)

Eventos do ciclo da contestação — abertura, defesa e desfecho. O campo data traz o objeto do chargeback (prefixo cbk_).

Cliente (customer.*)

Eventos de cadastro de clientes. O campo data traz o objeto do cliente (prefixo cust_).

Recebedor (recipient.*)

Eventos do ciclo de vida do vínculo de um recebedor com a sua conta. O campo data traz os dados cadastrais do recebedor (prefixo rec_), no mesmo formato de GET /recipients/:id — incluindo analysisComplete, pendencies e pendenciesSummary.
Os eventos de análise (recipient.approved, recipient.refused e recipient.pendency_updated) são disparados uma vez por rodada de análise, quando ela fecha — nunca no meio. O motivo da recusa vem em data.pendencies; veja Por que meu recebedor foi recusado?.

Saque (withdrawal.*)

Eventos de saque da carteira (wallet). O campo data traz o objeto do saque.

Fatura (invoice.*)

Eventos do ciclo de vida das faturas geradas pelas assinaturas. O campo data traz o objeto da fatura (prefixo inv_).
No evento invoice.payment_attempted, o data carrega o resultado da tentativa de cobrança (e o invoiceId referenciado), não o objeto completo da fatura.
Não existe status voided no objeto da fatura: o evento invoice.voided é disparado quando a fatura passa para o status canceled (anulada). Ao receber esse evento, espere data.status: "canceled".

Assinatura (subscription.*)

Eventos do ciclo de vida das assinaturas. O campo data traz o objeto da assinatura (prefixo sub_).
Se você libera acesso ao seu produto conforme a assinatura, os quatro eventos de inadimplência são o par que interessa:
  • past_due — a cobrança falhou e a régua de retentativa ainda está rodando. Não é sinal de cortar acesso: a maioria se resolve na próxima tentativa.
  • unpaid — a régua se esgotou e o motor desistiu. É aqui que faz sentido restringir.
  • restored — o valor em aberto foi zerado (pagamento ou cancelamento da fatura) e a assinatura voltou para active.
  • reactivated — o lojista reativou manualmente uma assinatura unpaid.
Quem restringe acesso em past_due ou unpaid precisa ouvir restored e reactivated para liberar de volta — nenhum outro evento avisa que a assinatura voltou.
O que não gera evento: as transições para completed (atingiu maxCycles) e incomplete_expired não têm webhook próprio. Para acompanhá-las, consulte a assinatura na API ou observe os invoice.* das cobranças relacionadas.

Antecipação (anticipation.*)

Eventos de antecipação de recebíveis (settle). O campo data traz o objeto da antecipação.

Buscar o catálogo pela API

Esta mesma lista sai da API, com código e descrição, em GET /webhooks/listeners — útil para validar do seu lado os códigos que você vai assinar, antes de mandá-los no cadastro. Para escolher quais destes eventos um webhook recebe, informe os códigos em events ao criar ou atualizar o webhook. Lista vazia significa todos.

Veja também

Recebendo eventos

Envelope, cabeçalhos e como verificar a assinatura HMAC.

Transações

O objeto transaction enviado nos eventos transaction.*.

Pagamentos

O objeto payment enviado nos eventos payment.*.

Assinaturas

Faturas e assinaturas que disparam os eventos invoice.* e subscription.*.