Skip to main content
Disponível apenas para vendas realizadas usando um Link de pagamento, o funil de upsell aproveita o melhor momento de venda que existe: o segundo seguinte à compra aprovada. Em vez de mandar o comprador direto para a página de obrigado, um funil de upsell pode levar o comprador para uma página sua com uma nova oferta. Se houver um cartão salvo, o aceite tenta cobrar com um clique. Sem cartão salvo, quando a compra inicial foi por Pix, o aceite gera o Pix da oferta sem repetir o cadastro. As ofertas herdam os dados e as regras do checkout inicial. Você monta a sequência num canvas: cada etapa é uma oferta, e cada oferta tem duas saídas: a) o que acontece se ele aceitar e b) o que acontece se ele recusar. Aceitou o upsell? Talvez venha um segundo produto. Recusou? Talvez venha uma versão mais barata. A sequência é sua.
Canvas real de um funil ativo com o link de pagamento de entrada e duas ofertas conectadas pelo caminho Sim

No canvas, cada card representa uma oferta. As saídas "Sim" e "Não" conectam a próxima etapa do percurso.

A página da oferta é sua, os botões são nossos.A Chargefy não hospeda a página de upsell. Você cria e publica a página da oferta no seu próprio site, com total controle sobre o conteúdo, o layout e a identidade visual. A Chargefy insere apenas os dois botões de decisão — “quero” e “não quero” — nos pontos que você definir.

O que precisa acontecer para o comprador entrar no funil

O funil é armado no instante em que o pagamento é aprovado. Todas as condições abaixo precisam valer ao mesmo tempo: Faltou alguma? O comprador simplesmente segue o caminho normal do checkout — a success_url do link. Nenhum problema no funil derruba, atrasa ou desfaz a venda que já foi aprovada. O funil é sempre um extra em cima de uma compra que já deu certo.

A jornada do comprador

1

Ele paga no checkout

Compra normal no seu payment link, com cartão ou Pix confirmado.
2

A Chargefy o leva para a página da primeira oferta

Em vez da success_url, ele cai na página que você definiu na etapa de entrada, levando uma chave de acesso na URL. É ela que diz quem é ele e qual oferta ele está vendo.
3

Ele decide

Um clique em “quero” tenta o cartão salvo, quando ele existe. Se a compra inicial foi por Pix, sem cartão salvo, abre o modal já gerando o Pix da oferta. O comprador ainda confirma o pagamento no banco. Quando precisa informar outro cartão, o formulário reaproveita os dados conhecidos. Um clique em “não quero” registra a recusa e segue o caminho configurado.
4

A decisão leva à próxima etapa

Cada saída (“sim” e “não”) aponta para outra etapa ou encerra o funil. Se aponta para outra etapa, a Chargefy leva o comprador para a página dela, com a chave de acesso atualizada.
5

O funil termina

Na última etapa, o comprador vai para o endereço final que você configurou no botão — normalmente a sua página de obrigado ou a área de membros.
No Pix da compra inicial, mantenha a página do checkout aberta. Assim que o pagamento for confirmado, ela leva o comprador para a primeira oferta. Se o comprador fechar a página antes da confirmação, não há recuperação automática desse acesso ao funil.
A success_url do link não é o fim do funilQuando o funil arma, ele assume o pós-pagamento inteiro. O destino final é o que você colocar no atributo complete-url dos botões da última etapa. Sem ele, o comprador fica na própria página da oferta e vê um aviso de compra confirmada — o que funciona, mas quase nunca é o que você quer.

Anatomia de uma etapa

Cada etapa do funil junta cinco coisas: E duas saídas: sim e não. Cada uma aponta para outra etapa ou fica vazia, encerrando o funil ali.
Editor real de uma etapa do funil com URL da página, oferta, textos de aceite e recusa e prévia dos botões

Ao selecionar uma etapa, você configura a URL da oferta, o preço do catálogo e o texto dos dois botões enquanto acompanha o resultado no próprio canvas.

A oferta é sempre um preço avulso do seu catálogo — não um valor digitado à mão. Isso mantém relatório, produto e conciliação consistentes com o resto da operação. O preço precisa estar ativo e no mesmo ambiente do funil. O mínimo da cobrança é validado ao confirmar a oferta, pelo plano e pelo método escolhido.

Instalar os botões na sua página

A página da oferta é uma página comum do seu site. Você só marca onde os dois botões entram.
Mockup de uma página de oferta com imagem do produto, texto de venda, preço e os botões Sim, quero adicionar à compra e Não, obrigado

Exemplo de uma página de oferta: o conteúdo e o layout são seus; a Chargefy renderiza apenas os dois botões de decisão.

Carregue a biblioteca uma vez, no <head>:
E marque os dois lugares onde os botões devem aparecer:
O atributo complete-url é opcional e só entra em ação quando aquela decisão encerra o funil. Enquanto houver próxima etapa, quem manda é o funil — a Chargefy leva o comprador para a página seguinte e ignora o complete-url.
O código é igual em todas as etapasVocê não muda uma linha entre a etapa 1 e a etapa 3. Quem decide qual oferta aparece é a chave de acesso que vem na URL, resolvida no servidor da Chargefy — não o HTML da página. Uma etapa nova só precisa de uma página nova com o mesmo trecho colado.

A identidade visual vem da sua marca

Cor, fonte e formato de canto dos botões seguem a marca da sua organização — a mesma que veste o seu checkout. Não há ajuste por página nem por etapa, de propósito: o comprador acabou de pagar numa tela sua e precisa reconhecer o botão como parte da mesma experiência. Ajuste a marca em Configurações → Marca no Dashboard, descrita em Configurar sua página de checkout.
Comparação dos botões de upsell em três identidades visuais: tema claro com cantos arredondados, tema escuro com formato pill e tema claro editorial com cantos retos

A mesma integração acompanha a cor, a tipografia, o formato dos cantos e o tema definidos para o checkout.

O que muda por etapa é só o texto de cada botão, porque cada oferta merece o próprio convite.

Duração da sessão

A sessão do funil começa quando a compra inicial é aprovada e dura 30 minutos. Durante esse período, a chave de acesso na URL identifica o comprador, a etapa atual e a oferta que ele pode aceitar. Sem uma chave de acesso válida, os botões não aparecem. Isso acontece quando alguém abre a página sem ter vindo de uma compra aprovada, quando a sessão vence ou quando o funil já terminou. A página continua funcionando normalmente, mas sem permitir a cobrança de uma oferta. A chave de acesso vale para uma única sequência. Depois de 30 minutos, a sessão expira, os botões somem e a chave não pode ser reutilizada.
A chave de acesso não expõe número, código de segurança, token ou dados cadastrais. Quando o funil precisa pedir outra forma de pagamento, o Chargefy.js abre uma página hospedada pela Chargefy: centralizada no desktop e em tela cheia no celular. Sua página recebe apenas os estados necessários, como pagamento concluído ou modal fechado.

Cada “sim” é uma cobrança independente

Aceitar uma oferta não aumenta o valor da compra original. A Chargefy cria uma cobrança nova, separada: Na prática: no extrato e nos relatórios, cada oferta aceita aparece como uma venda própria, na hora em que aconteceu. Sua automação de entrega não precisa de tratamento especial — ela reage ao mesmo evento de sempre.

Quando o clique não consegue cobrar

O texto do botão continua exatamente como você escreveu. O comportamento é que se adapta: No Pix, o QR Code é gerado na hora. Fechar e reabrir o modal mostra o mesmo QR Code enquanto ele estiver válido. Depois que vencer, o comprador pode gerar outro no mesmo checkout. Enquanto um Pix está pendente, a tentativa fica nele; o comprador não inicia uma cobrança paralela no cartão. Todas as etapas usam as exigências de documento, telefone e endereço, o limite de parcelas e quem paga o juro (interest_payer) do checkout inicial. Uma alteração posterior na configuração da organização não muda essas regras. Cartão e Pix só aparecem quando permitidos na origem; boleto não é oferecido no upsell. Os dados conhecidos são reaproveitados sem pedir que o comprador os informe novamente. Se faltar um dado obrigatório, o formulário pede esse dado antes de pagar. No cartão, o nome do titular vem preenchido; número e código de segurança precisam ser informados quando não há cartão reutilizável. Se esse cartão for aprovado e salvo, ele passa a ser o cartão de um clique das ofertas seguintes.
Modal de pagamento de uma oferta exibindo um QR Code Pix com contador de validade

Ao escolher Pix, o QR Code nasce no mesmo modal. Fechar e reabrir preserva este código enquanto ele estiver válido.

A mesma oferta não é cobrada duas vezes

Cada etapa aceita uma decisão só. Clicar novamente, atualizar a página durante o processamento ou voltar pelo navegador não cria outra cobrança. A Chargefy mostra o resultado já registrado ou informa que a decisão ainda está sendo processada. Essa proteção é aplicada antes de a cobrança ser enviada ao banco.

Status do funil na lista

“Incompleto” existe porque ligar a chave não coloca um funil no ar. Sem link ativo ninguém entra, e sem etapa de entrada o checkout não tem para onde mandar o comprador. O status diz a verdade em vez de prometer um funil que não roda. Cada funil é disparado por um payment link, e cada link dá start em um funil. Você escolhe esse link na criação do funil e pode trocá-lo depois, nas configurações. Link e funil precisam estar no mesmo ambiente.
Canvas de um funil incompleto com o card inicial em vermelho, selo Sem link e botão Escolher link de pagamento

Se o funil estiver sem link de entrada, o primeiro card fica vermelho, explica o bloqueio e leva direto à configuração.

Trocar o link é reversível e vale a partir da próxima compra — quem já está andando pelo funil termina o percurso que começou. Remover o funil solta o link: ele volta à success_url normal. As cobranças já feitas e as métricas do período são preservadas.

Testar em sandbox

Funis funcionam em sandbox exatamente como em produção. Crie o funil no ambiente de teste escolhendo um payment link de teste e conclua a compra com cartão ou Pix. Para conferir o fallback, entre com Pix — ou use um cartão salvo que seja recusado na oferta — e aceite uma etapa. Na origem Pix, confirme que o QR Code é gerado sem outro clique e sem repetir o cadastro. Feche e reabra o modal para conferir que ele preserva o mesmo código enquanto estiver pendente. Cartões de teste e cenários em Sandbox.

Ler o estado do funil na sua página

Para uma página de oferta mais elaborada — mostrar o valor no título, o final do cartão, um contador — o Chargefy.js expõe o estado da chave de acesso atual:
A promessa é rejeitada quando não há chave de acesso válida na URL, o que também serve como teste de “essa visita veio de uma compra?”.
Os botões continuam sendo a forma suportada de cobrar e recusar. getState() serve para enfeitar a página em volta deles. Quando installments.surcharge_pending_card_brand vier true, o valor por parcela não inclui a taxa repassada ao comprador — a organização precifica o cartão por bandeira e o total exato só é definido na cobrança, a partir do cartão salvo. Exiba o valor como “R$ 16,66 + taxa” nesse caso; com false (o padrão), o valor exibido é o total por parcela.

Limites

Próximos passos

Criar um Link de pagamento

O link que recebe a compra e arma o funil.

Chargefy.js

Referência do script que renderiza os botões da oferta.

Produtos, preços e descontos

Modele o catálogo que alimenta as ofertas das etapas.

Entrega de webhooks

Reaja a cada upsell aprovado para liberar o produto.