Upsells e downsells permitem oferecer produtos adicionais ou mudanças de plano para os clientes usando seus métodos de pagamento salvos. Isso possibilita compras de um clique que ignoram a coleta de pagamento, melhorando drasticamente as taxas de conversão.
Post-Purchase Upsells
Ofereça produtos complementares imediatamente após o checkout com compras de um clique.
Subscription Upgrades
Mova clientes para níveis superiores com prorrateamento automático e faturamento instantâneo.
Cross-Sells
Adicione produtos relacionados a clientes existentes sem pedir novamente os dados de pagamento.
Visão geral
Upsells e downsells são estratégias poderosas de otimização de receita:- Upsells: Ofereça um produto de maior valor ou upgrade (ex.: plano Pro em vez de Basic)
- Downsells: Ofereça uma alternativa de menor preço quando o cliente recusar ou fizer downgrade
- Cross-sells: Sugira produtos complementares (ex.: add-ons, itens relacionados)
payment_method_id, que permite cobrar o método de pagamento salvo do cliente sem exigir que ele digite novamente os dados do cartão.
Benefícios principais
Como funciona
Pré-requisitos
Antes de implementar upsells e downsells, garanta que você tenha:- Clientes com métodos de pagamento salvos (salvos automaticamente após a primeira compra)
- Produtos de upsell configurados no dashboard (pagamentos únicos, assinaturas ou complementos)
- Um endpoint de webhook configurado para processar eventos
payment.succeeded,payment.failedesubscription.plan_changed
Obtendo métodos de pagamento do cliente
Antes de oferecer um upsell, recupere os métodos de pagamento salvos do cliente:- TypeScript
- Python
- Go
Os métodos de pagamento são salvos automaticamente quando os clientes concluem o checkout. Não é necessário salvá-los explicitamente.
Upsells com um clique após a compra
Ofereça produtos adicionais imediatamente após uma compra bem-sucedida. O cliente pode aceitar com um único clique, pois o método de pagamento já está salvo.Implementação
- TypeScript
- Python
- Go
Upgrades de assinatura
Mova os clientes para planos de assinatura de nível superior com tratamento automático de rateio proporcional.Visualização antes da confirmação
Sempre visualize as alterações do plano para mostrar aos clientes exatamente quanto será cobrado:- TypeScript
- Python
- Go
Executar o upgrade
- TypeScript
- Python
- Go
Modos de rateio proporcional
Escolha como os clientes serão cobrados ao fazer upgrade:difference_immediately
Cobra instantaneamente a diferença de preço ($30→$80 = $50). Ideal para upgrades simples.
prorated_immediately
Concede crédito pelo tempo não utilizado do plano antigo e cobra um ciclo completo do novo plano. Ideal para creditar o tempo não utilizado.
full_immediately
Cobra o preço total do novo plano e ignora o tempo restante. Ideal para redefinir o ciclo de cobrança.
do_not_bill
Aplica a alteração do plano sem cobrança imediata; o novo plano será cobrado na próxima renovação e a data de cobrança original será preservada. Ideal para upgrades de cortesia e migrações gratuitas.
Vendas cruzadas
Adicione produtos complementares para clientes existentes sem exigir que eles insiram novamente os dados de pagamento.Implementação
- TypeScript
- Python
- Go
Downgrades de assinatura
Quando os clientes quiserem mudar para um plano de nível inferior, conduza a transição de forma adequada com créditos automáticos.Como funcionam os downgrades
- O cliente solicita o downgrade (Pro → Basic)
- O sistema calcula o valor restante do plano atual
- O crédito é adicionado à assinatura para futuras renovações
- O cliente muda imediatamente para o novo plano
O
immediate_charge.summary.customer_credits da prévia está na moeda da carteira de créditos do cliente, indicada por customer_credits_currency. Ela pode ser diferente da currency do resumo, por exemplo, quando o cliente paga em INR por uma assinatura em USD.- TypeScript
- Python
- Go
Os créditos provenientes de downgrades que usam
difference_immediately têm escopo de assinatura e são aplicados automaticamente a renovações futuras. Eles são diferentes dos benefícios de Credit-Based Billing.Exemplo completo: fluxo de upsell após a compra
Veja uma implementação completa que mostra como oferecer um upsell após uma compra bem-sucedida:- TypeScript
- Python
Práticas recomendadas
- Escolha o momento estrategicamente: ofereça upsells imediatamente após uma compra bem-sucedida, quando os clientes estão com mentalidade de compra. Outros momentos eficazes: após marcos de uso de recursos, ao se aproximarem dos limites do plano e durante a conclusão da integração.
- Valide os métodos de pagamento: antes de tentar uma cobrança com um clique, verifique se o método de pagamento é compatível com a moeda do produto, não expirou e pertence ao cliente.
- Trate as falhas de forma adequada: quando as cobranças com um clique falharem, recorra ao fluxo de checkout padrão, notifique o cliente com uma mensagem clara e ofereça a opção de atualizar o método de pagamento.
- Mostre o valor com clareza: mostre o que os clientes receberão em comparação com o plano atual, destaque a diferença de preço (não o preço total) e use prova social.
- Respeite a escolha do cliente: sempre ofereça uma maneira fácil de recusar, não mostre o mesmo upsell repetidamente após uma recusa e acompanhe quais upsells convertem para otimizar as ofertas.
Webhooks para monitorar
Acompanhe estes eventos de webhook para os fluxos de upsell e downgrade:Webhook Integration Guide
Saiba como configurar e verificar endpoints de webhook.
Recursos relacionados
Subscription Upgrade Guide
Guia detalhado sobre alterações de plano, modos de proration e tratamento de falhas.
Checkout Sessions
Referência completa para criar sessões de checkout com todas as opções.
Customer Payment Methods API
Referência da API para listar os métodos de pagamento do cliente.
Add-ons
Aprimore as assinaturas com add-ons flexíveis para gerar receita adicional.