Skip to main content
Confirma um cadastro de cartão (setup_intent). Existe uma única operação para backend e navegador; o que muda é a credencial usada: Em sucesso, a Chargefy cria ou reutiliza um payment_method, liga-o ao customer e retorna status: "succeeded". Nenhuma cobrança ou reserva de limite acontece nessa operação. Salvar o cartão não o torna automaticamente o método padrão do customer. Cada confirmação válida cria um setup_attempt. O campo latest_attempt aponta para a tentativa mais recente, inclusive quando ela falha. Use a chave pk_live_* ou pk_test_* exibida em Developers → Chaves de API. A chave publicável pode ficar no JavaScript; o client_secret limita a ação a um único cadastro.
confirmSetup() tokeniza o cartão e confirma o cadastro internamente. O seu código não precisa criar, transportar nem gerenciar um token_id.
Crie o cadastro com customer no backend antes de entregar o client_secret ao navegador. Não coloque o client_secret em analytics, logs ou mensagens.

Backend

Use a chave secreta quando o cartão já virou um payment_method ou quando sua integração controla explicitamente o token de baixo nível.

Parâmetros

string
required
ID do cadastro (seti_*).
string
Obrigatório com chave publicável. Precisa pertencer ao id, organização e ambiente da URL. Não é necessário com chave secreta.
string
Cartão já salvo (pm_*) que pertence ao mesmo customer. Disponível somente no backend.
string
Token de cartão de uso único. O Chargefy.js usa este campo internamente; em integrações novas, prefira confirmSetup() no navegador.
string
Identificador de cartão já salvo no processador. Disponível somente no backend; prefira payment_method quando ele existir.
string
Customer que será dono do cartão. Só pode ser enviado pelo backend e é obrigatório quando o cadastro ainda não possui customer.

Resposta

Com chave secreta, a resposta usa o objeto completo. Com chave publicável, ela traz somente os campos necessários para a tela: identidade, estado, próximo passo, erro, ambiente, tipos aceitos, usage e payment_method.

Erros e como tratar

Uma falha de cartão devolve o cadastro para requires_payment_method, preenche last_setup_error, registra um setup_attempt com status: "failed" e emite setup.intent.failed. Se esse cartão também deve virar o padrão, faça essa escolha separadamente com POST /v1/payment-methods/{id}/attach depois que o cadastro retornar succeeded.

Limitações atuais

  • Hoje apenas credit_card é aceito.
  • O cadastro sempre usa usage: "off_session" na prática.
  • O processador atual não apresenta desafio 3DS neste fluxo; por isso requires_action e next_action fazem parte do contrato, mas não são produzidos nas confirmações atuais.
  • Confirmar um payment_method existente valida propriedade e estado local, mas não consulta o emissor nem reserva limite.
  • Tokens são de uso único. Depois de uma falha, confirmSetup() gera outro automaticamente a partir dos novos dados do cartão.