url
temporária: redirecione o comprador e deixe a Chargefy cuidar da página, da
coleta dos dados e da confirmação do método escolhido.
Este guia cobre o fluxo hospedado. Você não precisa instalar um SDK para
começar; qualquer cliente HTTP pode chamar a API.
Se estiver implementando com um assistente conectado ao MCP, peça para ele
seguir este guia no código do seu backend. O MCP consulta uma Checkout Session
existente com checkout_sessions.get; a criação é feita por
POST /v1/checkout-sessions, não por uma ferramenta de criação do MCP. Veja
Implementar pagamentos white-label.
O que você vai implementar

A URL da sessão abre uma página hospedada pronta para cartão, Pix ou boleto.
Antes de começar
Você precisa de:- uma organização Chargefy; para confirmar pagamentos no ambiente live, o cadastro financeiro precisa estar ativo;
- uma API key do ambiente de teste, criada em Developers → Chaves de API;
- uma rota no seu backend para criar a sessão;
- um endpoint HTTPS para receber webhooks antes de liberar o pedido.
1. Crie a sessão no backend
O menor request possível envia apenasline_items. Este exemplo usa um preço
já cadastrado no catálogo:
Idempotency-Key estável por pedido. Se o seu backend repetir a mesma
chamada por timeout ou retry, a Chargefy devolve o mesmo resultado em vez de
criar duas sessões para a mesma ação.
A resposta contém o objeto completo. Para o redirect, os campos mais
importantes são:
mode, totais, expires_at e url são calculados pela
Chargefy. Não os envie no request.
2. Escolha como descrever os itens
Cada item aceita exatamente uma das três variantes abaixo. Em todas elas,quantity é opcional e começa em 1.
a. Preço do catálogo
Use quando produto, valor e recorrência já estiverem cadastrados. É o payload mais curto e mantém a oferta centralizada no catálogo.b. Produto do catálogo com preço ad-hoc
Use quando o produto já existe, mas o valor vale apenas para essa compra. A Chargefy reutiliza o nome e a descrição do produto sem criar outro Price.c. Produto e preço ad-hoc
Use quando o seu sistema é a fonte do catálogo. Produto e preço vivem somente na sessão e não são persistidos como recursos reutilizáveis.Regras de line_items
- envie exatamente um entre
price_ideprice_dataem cada item; - com
price_data, envie exatamente um entreproduct_ideproduct_data; - todos os itens precisam usar a mesma moeda;
- todos precisam ser avulsos ou todos recorrentes;
quantitydeve ser um inteiro maior ou igual a1;unit_amountusa centavos:12990representa R$ 129,90.
3. Personalize a tentativa de compra
Os parâmetros abaixo pertencem à sessão e podem mudar em cada pedido:Exemplo de compra avulsa personalizada
Este request fixa um Customer, aplica desconto, permite alterar a quantidade, repassa a tarifa e cria uma invoice depois do pagamento:{CHECKOUT_SESSION_ID} é substituído pelo cs_* da sessão antes
do redirect. A tela de sucesso permite seguir imediatamente ou aguardar o
contador de 10 segundos; esse redirect não espera o webhook. Use o ID para
mostrar o estado atual, mas não para liberar o pedido sem o resultado processado
pelo seu backend. Se a URL abre conteúdo pago, mantenha nela o seu próprio gate
de ativação até o fulfillment terminar.
Atribuição de marketing
Quando seu backend já recebeu a campanha, envie um snapshot tipado. A primeira captura válida permanece associada à sessão; uma abertura posterior não a substitui.marketing_attribution. Se a campanha chegar na própria
URL hospedada, a Chargefy também pode capturar UTMs e identificadores de clique
no primeiro carregamento.
4. Crie pagamentos recorrentes
Omode é derivado dos itens. Um Price recorrente ou
price_data.recurring cria uma sessão subscription; você não envia mode.
payment_method_collection e subscription_data só são aceitos em sessões
recorrentes. has_surcharge só é aceito em sessões avulsas.
5. Entenda o que vem da organização
A identidade visual vem de Configurações → Marca. Os padrões de composição e pagamento vêm de Configurações → Checkout. A API pode personalizartemplate, checkout_experience, optional_items, payment_method_types e
payment_method_options para cada compra. As escolhas efetivas ficam congeladas
na criação; marca, suporte e termos permanecem atuais.
O campo de código de desconto não vem do Builder. Ele aparece somente quando a
sessão foi criada com
allow_discount_codes: true.
Use Configurar sua página de
checkout para alterar essas regras uma vez,
sem repetir configuração em cada sessão.
6. Redirecione o comprador
O botão do seu site chama uma rota do seu backend. Essa rota cria a sessão e devolve somente a URL necessária para abrir o checkout:7. Prepare retorno e webhooks
success_url melhora a experiência do comprador, mas não confirma o dinheiro.
Pix e boleto podem concluir o formulário e continuar unpaid até a compensação.
No seu endpoint de webhook:
- verifique a assinatura usando o corpo bruto;
- deduplique pelo
event.id; - confirme
data.object.payment_status; - relacione a sessão ao pedido com seu
metadata; - execute entrega ou ativação de forma idempotente;
- responda
2xxrapidamente e processe trabalho demorado fora da resposta.
8. Use Chargefy for Platforms quando aplicável
Use a API key da plataforma e envie o headerOrganization com a organização
filha que receberá o pagamento. Prices, Products, Customers e descontos usados
na sessão também precisam pertencer a ela.
url devolvida pela API; não troque o hostname manualmente.
Um link criado pelo MCP na organização dona da plataforma não equivale a uma
venda criada pela API para uma organização filha.
9. Teste antes de publicar
Crie a sessão com uma API key do ambiente de teste, abra aurl retornada e
use dados do Sandbox.
Para Pix e boleto, use os e-mails determinísticos documentados no sandbox e
teste tanto confirmação imediata quanto resultado atrasado. Seu fluxo está
pronto quando o mesmo
cs_* aparece na página de retorno, na consulta da API e
no webhook processado pelo backend.
Erros comuns
Consulte Criar uma sessão de
checkout para o contrato completo de
todos os parâmetros e respostas de erro.
Próximos passos
Entender Checkout Sessions
Veja origens, responsabilidades, estados e limites do objeto.
Configurar a página
Configure identidade, métodos, campos obrigatórios e parcelamento.
Após receber com um Checkout
Conecte a página de retorno aos webhooks e ao fulfillment.
Referência da API
Consulte o schema exato do
POST /v1/checkout-sessions.
