Uma Checkout Session representa uma tentativa de compra. Ela não substitui
o Payment Intent, a invoice ou a subscription que registram o resultado
financeiro e a recorrência.
O lifecycle do checkout hospedado
1
Sua aplicação inicia a compra
O backend cria uma Checkout Session com os itens, URLs de retorno e dados
opcionais do customer. Se a oferta vem de um Payment Link, cada acesso ao
link cria uma sessão nova automaticamente.
2
A Chargefy abre a página
A resposta contém uma
url. Ao redirecionar o navegador, a página carrega a
identidade, o template, os métodos e as regras atuais do Checkout Builder da
sua organização.3
O comprador conclui o formulário
A página coleta os dados exigidos pelo método escolhido, tokeniza o cartão
no navegador e permite corrigir recusas ou campos inválidos sem expor sua
API key.
4
A Chargefy coordena o pagamento
Cartão normalmente é confirmado na hora. Pix e boleto entregam os dados de
pagamento e aguardam compensação. Em uma venda recorrente, a confirmação
também materializa a subscription e a invoice quando aplicável.
5
Seu backend conclui o pedido
Webhooks informam o estado confiável da sessão. Seu sistema deduplica o
evento, confirma o resultado financeiro e só então libera produto, reserva
ou acesso.

Página hospedada com resumo do pedido, dados do comprador e métodos de pagamento.
A Checkout Session é o contrato da página
Seu backend descreve a compra; o Checkout Builder descreve a experiência. O request não transporta cores, fonte ou layout.Como os objetos se encaixam
A Checkout Session organiza a tentativa, mas não é o livro-razão do pagamento.
Para conciliação, combine
payment_status, o Payment Intent relacionado, a
invoice quando existir e os eventos recebidos.
O que a página resolve
As configurações do Checkout Builder pertencem à organização e são lidas no
carregamento da página. Se você alterar um método ou campo obrigatório, a nova
regra vale no próximo carregamento, inclusive para sessões já criadas.
Pagamento único e assinatura
Omode é derivado dos itens. Você não o envia no request.
Em assinaturas,
subscription_data pode definir trial, data de encerramento e
o comportamento quando o trial termina sem método de pagamento. O cartão
coletado fica associado ao customer para as próximas cobranças quando a
assinatura precisa dele.
Para apenas salvar um cartão sem cobrar, use um Setup
Intent, não uma Checkout Session de pagamento.
Customer e dados do comprador
A resolução acontece dentro da mesma organização e do mesmo ambiente. A
Chargefy não usa
metadata para decidir identidade; esse objeto continua
opcional, livre e controlado pela sua aplicação.
Cartão, Pix e boleto não terminam ao mesmo tempo
Por isso, a sessão separa o estado da página do estado do dinheiro:
Expiração e novas tentativas
Toda Checkout Session nasce com validade fixa de 24 horas. Você também pode expirar uma sessão aberta antes desse prazo. Uma sessãocomplete ou expired é terminal: não volta a open. Para uma nova
tentativa, crie outra sessão. Use um identificador do seu sistema em metadata
para correlacionar sessões diferentes ao mesmo carrinho ou pedido, sem tornar
nenhuma chave específica obrigatória.
Conclua a transação pelo webhook
Quando existe um endpoint inscrito em
checkout.session.completed, a Chargefy
aguarda um 2xx por até 10 segundos antes do redirect. Se o endpoint demorar ou
falhar, o redirect continua; a entrega do webhook será tentada novamente.
Segurança do fluxo
Quando a interface precisa ficar no seu produto
O
client_secret não renderiza um formulário nem um iframe. Ele é a
credencial pública daquela sessão. Se você escolher esse caminho, sua equipe
assume a interface, os estados de loading, erro, retry e acessibilidade.Chargefy for Platforms
O lifecycle não muda. A API key da plataforma envia o headerOrganization
para selecionar a organização filha; produtos, preços e customers da sessão
precisam pertencer a ela. A página usa o Checkout Builder dessa organização e o
webhook carrega seu ID no campo top-level organization.
Próximos passos
Criar a primeira página
Implemente o fluxo hospedado do backend ao webhook.
Entender Checkout Sessions
Aprofunde itens, customers, expiração, métodos, estados e eventos.
Após receber com um Checkout
Conecte retorno, webhook, worker e reconciliação.
Criar um checkout white-label
Construa a interface dentro do seu produto com tokenização no navegador.

