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.
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, client_secret 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. Use o ID para mostrar o estado atual, mas não para liberar o pedido
sem webhook.
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 do Checkout Builder
A aparência e a política da página não fazem parte do request. A página usa a configuração atual da organização quando o comprador abre aurl.
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.
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.
