Payment Intents
Confirm a Payment Intent
Confirma um payment intent.
Confirma um
payment_intent e inicia a cobrança. A confirmação cria uma
charge, que representa a tentativa de pagamento dentro do intent. Para cartão, use um
payment_method salvo. Para PIX, informe payment_method_type: "pix" ou crie
o intent apenas com payment_method_types: ["pix"]; a resposta traz o QR code
em next_action.pix_display_qr_code e o status fica pending até a
confirmação assíncrona.
Para boleto, o mesmo padrão se aplica: payment_method_type: "boleto"
(opcionalmente boleto_due_date em ISO YYYY-MM-DD). A resposta traz a
linha digitável, código de barras e URL do PDF em
next_action.boleto_display_details; o status fica pending até o pagamento
ser confirmado pelo banco.
Confirme um intent pelo próprio ID pi_*. Quando o intent foi criado por outro
fluxo, trate esse fluxo como origem ou contexto, não como chave da tentativa de
pagamento. O estado financeiro mora no payment_intent e nos webhooks de
payment.intent.*. Não crie charges diretamente: para cobrar alguém, crie e
confirme um payment_intent.
Quando capture_method é manual, a confirmação de cartão autoriza o valor e
retorna o intent em requires_capture com amount_capturable preenchido. Use
POST /v1/payment-intents/:id/capture para capturar.
ID do payment intent (
pi_*).Customer associado. Obrigatório se o intent foi criado sem customer.
Payment method salvo para cartão. Obrigatório para cobrança de cartão se o
intent ainda não tem método.
Método a confirmar quando o intent permite mais de um método. Aceita
credit_card ou pix.Confirmar PIX
Erros comuns
| Status | code | Quando ocorre |
|---|---|---|
400 | invalid_request | Falta customer ou payment_method para cartão, ou falta payment_method_type quando há múltiplos métodos. |
402 | payment_failed | A tentativa de pagamento foi recusada. Consulte last_payment_error no payment intent para o motivo granular. |
409 | resource_state_conflict | O payment intent não pode mais ser confirmado. |

