Skip to main content

Evento checkout.session.async.payment.succeeded

Disparado quando um pagamento assíncrono de uma checkout session é confirmado depois do checkout.session.completed. Use este evento para liberar o produto ou serviço em sessões pagas por PIX ou boleto, que podem terminar o formulário antes da confirmação financeira. data.object contém a checkout session completa no estado atual: status: "complete" e payment_status: "paid". O método e os detalhes ficam em payment_data.
Este evento só acontece depois de checkout.session.completed ter sido emitido com payment_status: "unpaid". Cartão aprovado de forma síncrona não passa por este evento; ele já aparece como paid no completed.

Quando acontece

Como processar

  • Registre o id do evento (evt_*) para processar o webhook de forma idempotente.
  • Use data.object.id como chave da checkout session no seu sistema.
  • Marque o pedido como pago usando payment_status: "paid".
  • Libere produto, serviço, assinatura ou reserva depois deste evento.
  • Use metadata, customer e line_items para conciliar com seu pedido interno.
  • Ignore entregas duplicadas quando a sessão já estiver marcada como paga localmente.

Campos importantes

Pagamentos assíncronos

Exemplo de payload

data.object é o DTO completo de PublicCheckoutSession.