setup_intent representa a intenção de preparar e salvar um método de pagamento de um cliente para usos futuros — sem cobrar nada no momento. Ele existe para os casos em que você quer guardar um cartão antes de fazer a primeira cobrança: assinaturas que começam em trial, cobranças sob demanda, ou qualquer fluxo em que o método é coletado agora e usado depois. É uma máquina de estados de vida curta que acompanha essa coleta do início até o desfecho.
Ele nasce quando você o cria pela API e avança por um status que reflete o que falta acontecer: começa em requires_payment_method ou requires_confirmation, e termina em succeeded quando o método é salvo e definido como padrão do customer, ou em canceled quando você o encerra. O setup_intent se prende a um customer (a quem o método salvo pertence) e, ao concluir, ao payment_method resultante. O client_secret é o que autoriza o browser do comprador a confirmar a coleta sem expor a sua chave de API.
Data Object
Este é o formato completo retornado emcreate, get, update, itens de
list, nas ações confirm e cancel, e em data.object dos webhooks
setup.intent.*.
Identificador do setup intent. Usa o prefixo
seti_*.Sempre
"setup_intent".Data do cancelamento em ISO 8601. Vem
null enquanto o setup intent não foi
cancelado.Motivo do cancelamento. Um de
abandoned, requested_by_customer ou
duplicate. Vem null enquanto o setup intent não foi cancelado.Segredo usado para confirmar a coleta no browser do comprador sem expor a
chave de API. Não compartilhe em logs nem em superfícies públicas.
Data de criação em ISO 8601.
ID do customer a quem o método salvo pertence. Vem
null quando o setup
intent foi criado sem customer.Detalhes do último erro ao tentar salvar o método. Preenchido quando uma
confirmação falha; volta para
null numa nova tentativa bem-sucedida.true em produção; false em ambiente de teste.Objeto livre para correlacionar o setup intent com o seu sistema. Quando
vazio, retorna
{}.Próxima ação exigida do comprador para concluir a coleta. A configuração
atual de cartão não exige acompanhamento, então normalmente vem
null.Método de pagamento associado. Vem como o ID (
pm_*) por padrão, null
enquanto nenhum método foi definido, ou o objeto payment_method completo
quando você usa expand[]=payment_method.Tipos de método aceitos por este setup intent. Hoje sempre
["credit_card"].Estado atual do setup intent. Um de:
Data da última atualização em ISO 8601. Vem
null enquanto o setup intent
nunca foi atualizado.Indica como o método salvo será usado depois:
off_session (cobranças
futuras sem o comprador presente) ou on_session (com o comprador presente).
Padrão: off_session.Operações
- Listar setup intents
- Criar setup intent
- Consultar setup intent
- Atualizar setup intent
- Confirmar setup intent
- Cancelar setup intent
Webhooks
Mudanças nesse objeto disparam os seguintes eventos de webhook: O payload sempre carrega o objetosetup_intent completo em data.object; eventos que alteram estado também incluem data.previous_attributes com os valores anteriores dos campos alterados.
