Evento payment.intent.succeeded
Disparado quando um payment_intent chega ao estado succeeded.
Este é o evento principal para confirmar que uma cobrança foi concluída. Use-o
para avançar a operação de negócio, marcar faturas como pagas no seu sistema e
registrar o valor recebido.
data.object usa o mesmo shape de
GET /v1/payment-intents/:id. Em
webhooks, payment_method vem como ID; consulte ou expanda o recurso pela API
quando precisar do retrato completo do cartão.
O objeto é completo no estado succeeded; ele não é um patch. Este evento
normalmente não precisa de data.previous_attributes para confirmar o
pagamento: use data.object como fonte do estado final.
Uma
charge representa a tentativa concreta de cobrança. O payment_intent
representa o ciclo inteiro: ele pode ter latest_charge, invoice,
customer e metadata para conciliação.Quando acontece
Como processar
- Registre o
iddo evento (evt_*) para processar o webhook de forma idempotente. - Use
data.object.id(pi_*) como chave canônica da cobrança. - Libere o pedido usando
data.object.status === "succeeded", não apenas a existência de uma charge. - Grave
amount_received,amount_details.amountecurrencypara conciliação financeira. - Use
latest_chargepara salvar a tentativa que concluiu o pagamento. - Use
customer,invoiceemetadatapara ligar o pagamento ao seu pedido ou fatura.
Campos importantes
Status possíveis
Neste evento,data.object.status é succeeded. A tabela abaixo resume os
status que um payment_intent pode assumir ao longo do ciclo de vida:
Motivos de cancelamento
cancellation_reason vem null em payment.intent.succeeded. Quando você
consultar intents cancelados, os valores possíveis são:
Exemplo de payload
Páginas relacionadas
Objeto Payment Intent
Campos financeiros, relações e timestamps de
data.object.Integração com Payment Intents
Handler idempotente para concluir a operação no seu sistema.
Charge concluída
Histórico da tentativa concreta que concluiu o intent.
Conciliação
Relação com Charge, Transaction e Invoice.

