Skip to main content
Um Link de pagamento representa uma oferta reutilizável, não uma venda. Cada pessoa que abre a URL cria uma Checkout Session nova, com ID, comprador, estado e resultado próprios. Depois da compra, acompanhe essa sessão — o link continua disponível para as próximas pessoas.
Este artigo é para vendas que nascem de uma URL compartilhada. Se seu backend cria uma Checkout Session para um pedido já conhecido, veja Após receber com um Checkout.

Separe a oferta de cada compra

Não marque uma venda como paga olhando o estado do Link de pagamento. O link pode continuar ativo mesmo depois de centenas de compras. O resultado está na Checkout Session criada para cada acesso.

Como cada venda aparece

1

Alguém abre o link

A Chargefy materializa uma Checkout Session e emite checkout.session.created. Itens, URLs, regras de assinatura e metadata do link são copiados para essa sessão.
2

O comprador conclui a página

A sessão recebe o Customer e o método escolhido. Cartão pode confirmar na hora; Pix e boleto podem continuar aguardando compensação.
3

Seu backend recebe o resultado

Os eventos checkout.session.* identificam a sessão específica. Seu sistema valida, deduplica e executa a entrega uma única vez.
4

O link continua disponível

A mesma URL pode materializar outras sessões sem misturar compradores ou resultados financeiros.
O session.id é a chave de cada compra. O metadata configurado no link é copiado para todas as sessões e pode ajudar a identificar oferta, campanha ou canal, mas não é um número único de pedido por comprador.

Escolha o sinal correto

status: "complete" informa que o comprador terminou o checkout. payment_status informa se o pagamento foi confirmado. Sempre leia os dois. Para implementar assinatura, persistência, reentrega e idempotência uma única vez, use Entregar pedidos e Entrega de webhooks. Essas regras são iguais para qualquer origem; esta página trata apenas do que muda quando a origem é um link reutilizável.

Configure um retorno que identifique a sessão

O mesmo success_url do Link de pagamento será usado pelas sessões geradas. Se sua página precisa mostrar uma compra específica, inclua o placeholder:
A Chargefy substitui o placeholder pelo ID da sessão materializada antes do redirect. Sua página envia esse ID ao backend e mostra o estado já persistido a partir dos webhooks.
Chegar à success_url não comprova pagamento. Pix e boleto podem redirecionar enquanto continuam unpaid. A página deve mostrar “Aguardando confirmação” e nunca criar outra cobrança automaticamente.
Sem success_url, o comprador permanece na confirmação hospedada. cancel_url é usada quando ele volta antes de concluir a página; esse retorno também não cancela automaticamente uma tentativa assíncrona já criada.

Acompanhe as vendas no Dashboard

Abra Checkouts para ver cada sessão criada pelo link e Pagamentos para consultar o resultado financeiro. O detalhe do Link de pagamento continua representando a oferta reutilizável.
Dashboard da Chargefy mostrando faturamento, pedidos, receita líquida, ticket médio e vendas recentes

Visão geral do Dashboard com faturamento, pedidos, receita líquida, ticket médio e vendas recentes.

Abrir o Dashboard

Consulte a oferta, as sessões materializadas e os pagamentos relacionados.
Uma ação sobre uma compra não deve alterar automaticamente a oferta inteira: Desative o link quando a oferta terminar, o estoque acabar ou você não quiser novas compras. Não o desative apenas porque uma venda foi reembolsada ou uma sessão expirou. Um link com preço recorrente pode criar várias assinaturas independentes — uma por comprador que concluir sua sessão.
  • use checkout.session.completed para relacionar a primeira sessão à subscription criada;
  • trate no_payment_required conforme a política de trial;
  • acompanhe os ciclos seguintes por invoice.paid e eventos de subscription;
  • ofereça o Portal do cliente para atualização de método, consulta de invoices e gestão da assinatura;
  • não use novamente o Link de pagamento para cobrar cada renovação.

Reembolsos, disputas e conciliação

Essas operações pertencem ao pagamento, não ao Link de pagamento. Localize a compra em Pagamentos ou pela Checkout Session e trabalhe sobre o recurso financeiro correspondente.

Reembolsar pagamento

Crie uma devolução sem desativar a oferta compartilhada.

Conciliar pagamentos

Relacione a sessão, o pagamento, a devolução e os movimentos financeiros.

Checklist de produção

  • Cada compra é identificada pelo cs_*, não apenas pelo Link de pagamento.
  • O backend recebe checkout.session.created quando precisa registrar cada acesso.
  • A página de retorno usa {CHECKOUT_SESSION_ID} e consulta seu backend.
  • Pix e boleto só liberam a compra depois da confirmação assíncrona.
  • O mesmo evento e a mesma sessão não executam a entrega duas vezes.
  • metadata do link é tratada como contexto compartilhado, não ID único de pedido.
  • Reembolso, falha ou expiração de uma compra não desativa a oferta inteira.
  • Desativar ou atualizar o link afeta novas visitas, não sessões existentes.
  • Renovações de assinatura são acompanhadas por invoices.

Próximos passos

Criar um Link de pagamento

Configure a oferta, o retorno e as regras copiadas para cada sessão.

Entregar pedidos

Implemente webhooks, idempotência, retry e compensação.

Configurar pixel de conversão

Envie eventos de abertura, pagamento e receita para seus destinos.

Portal do cliente

Dê autonomia a compradores que iniciaram uma assinatura pelo link.