Skip to main content

Evento payment.intent.succeeded

Disparado quando um payment_intent chega ao estado succeeded. 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 snapshot do cartão.

Exemplo de payload

{
  "id": "evt_123",
  "object": "event",
  "created_at": "2026-05-16T18:35:00Z",
  "data": {
    "object": {
      "id": "pi_123",
      "object": "payment_intent",
      "amount": 10528,
      "amount_capturable": 0,
      "amount_details": {
        "installment_interest": 528,
        "subtotal": 10000,
        "total": 10528
      },
      "amount_received": 10528,
      "canceled_at": null,
      "cancellation_reason": null,
      "capture_method": "automatic",
      "client_secret": "pi_123_secret_abc",
      "confirmation_method": "automatic",
      "created_at": "2026-05-16T18:34:58Z",
      "currency": "brl",
      "customer": "cus_123",
      "invoice": "inv_123",
      "last_payment_error": null,
      "latest_charge": "ch_123",
      "livemode": true,
      "metadata": {},
      "next_action": null,
      "payment_method": "pm_123",
      "payment_method_options": {
        "credit_card": {
          "installments": {
            "amount_subtotal": 10000,
            "amount_total": 10528,
            "count": 3,
            "has_interest": true,
            "interest_amount": 528
          }
        }
      },
      "payment_method_types": ["credit_card"],
      "setup_future_usage": null,
      "status": "succeeded",
      "updated_at": "2026-05-16T18:35:00Z"
    }
  },
  "livemode": true,
  "organization": "org_123",
  "request": {
    "id": null
  },
  "type": "payment.intent.succeeded"
}

Campos

CampoTipoDescrição
data.object.idstringID do payment intent (pi_*).
data.object.objectstringSempre "payment_intent".
data.object.amountintegerTotal do intent em centavos. Quando há juros de parcelamento, é maior que o subtotal.
data.object.amount_capturableintegerValor ainda capturável.
data.object.amount_receivedintegerValor recebido em centavos.
data.object.amount_detailsobjectQuebra entre subtotal, juros de parcelamento e total.
data.object.currencystringMoeda em minúsculas, como brl.
data.object.customerstring | nullCustomer associado.
data.object.invoicestring | nullInvoice associada.
data.object.latest_chargestring | nullÚltima tentativa de cobrança criada pela confirmação do intent.
data.object.payment_methodstring | nullMétodo salvo usado no pagamento.
data.object.payment_method_typesarrayMétodos habilitados/usados pelo intent.
data.object.payment_method_optionsobjectOpções públicas por método de pagamento.
data.object.statusstringEstado atual do intent.
data.object.capture_methodstringautomatic ou manual.
data.object.confirmation_methodstringautomatic ou manual.
data.object.setup_future_usagestring | nullIntenção de reuso futuro, quando informada.
data.object.cancellation_reasonstring | nullMotivo de cancelamento, quando aplicável.
data.object.canceled_atstring | nullData de cancelamento, quando aplicável.
data.object.client_secretstringSecret client-side do intent.
data.object.next_actionobject | nullPróxima ação necessária, quando houver.
data.object.last_payment_errorobject | nullÚltimo erro público de pagamento, quando houver.
data.object.livemodebooleantrue em produção; false em teste.
data.object.metadataobjectMetadata livre.
data.object.created_atstringData de criação.
data.object.updated_atstring | nullÚltima atualização.