Skip to main content
Cria um cadastro de cartão (setup_intent), usado para salvar um cartão sem cobrar nada — por isso não existe campo de valor aqui. A cobrança acontece depois, pela assinatura ou por um payment intent que você cria com o pm_* salvo. Nenhum campo é obrigatório. Um POST vazio já cria um cadastro em requires_payment_method, sem customer — você define o resto depois, no update ou no confirm. O que existe são exigências condicionais entre os campos:

Formas de iniciar

(a) Vazio ou só com customer — o fluxo padrão

Crie cedo, colete o cartão depois. É o formato recomendado: o backend cria o cadastro para o customer e o navegador o conclui com client_secret e Chargefy.js.

(b) Com um cartão já salvo

Quando o cartão já existe como pm_* e você quer concluir o cadastro ou uma pendência de assinatura. O cadastro nasce em requires_confirmation.
Concluir com um pm_* existente verifica a propriedade do cartão, mas não faz uma nova autorização no emissor e não reserva limite.

(c) Criar e confirmar numa chamada só

Quando o seu backend já recebeu um token_id recém-tokenizado, ele pode criar e concluir em uma chamada. É o atalho server-side; para manter o token no navegador, use Concluir cadastro com Chargefy("pk_*") e confirmSetup().

Parâmetros

string
Customer que receberá o método salvo (cus_*). Opcional na criação, mas obrigatório junto de payment_method e na confirmação — o método salvo sempre pertence a um customer.
string
Cartão já salvo (pm_*) que será associado. Quando informado, o setup_intent nasce com status: "requires_confirmation". Exige customer. Quando omitido, o setup intent nasce em requires_payment_method e o método é definido depois.
boolean
default:"false"
Quando true, cria e confirma o setup intent na mesma chamada. Exige um cartão na mesma chamada: payment_method, token_id ou card_id.
string
Token de cartão de uso único (tok_*) gerado no browser. Só pode ser enviado junto com confirm: true e customer.
string
ID de cartão já salvo que pertence a este customer. Só pode ser enviado junto com confirm: true e customer. A propriedade é validada antes de salvar; um cartão que não pertence ao customer é recusado. Prefira token_id no fluxo padrão.
array
default:"[\"credit_card\"]"
Tipos de método aceitos. Hoje o único valor aceito é ["credit_card"]; omita o campo.
object
Metadata livre. Quando omitido, o objeto retorna {}.

Erros e limites relevantes

Uma tentativa que cria e conclui com token_id consome esse token. Se o salvamento falhar, gere um token novo antes de tentar outra vez.