Como adicionar um fluxo de cancelamento ao Chargebee
Criar um fluxo de cancelamento no Chargebee: definições do portal, códigos de motivo, a API, cancelamentos agendados e ofertas justas que retêm clientes.
O Chargebee dá-lhe muito controlo sobre a forma como uma subscrição termina: quando o cancelamento produz efeito, o que acontece aos créditos, se é obrigatório indicar um motivo e se os clientes o podem fazer sozinhos. O que não lhe dá por predefinição é um fluxo: uma sequência curta que pergunta porque é que o cliente está a sair e oferece algo útil antes de ele ir.
Este guia mostra como funciona o cancelamento no Chargebee Billing, que definições contam e como construir um fluxo de cancelamento justo por cima, seja com o produto de retenção do próprio Chargebee, seja com a sua própria página e a API. Baseia-se na documentação do Chargebee: Subscription Cancellation, o Self-Serve Portal, Reason Codes, a API Cancel a subscription, os tipos de eventos e o caso de uso de ofertas direcionadas do Chargebee Growth (todos consultados em novembro de 2026).
Como funciona o cancelamento no Chargebee
Predefinições para todo o site
A documentação de cancelamento do Chargebee coloca as predefinições em Settings › Configure Chargebee › Billing LogIQ › Customers & Subscriptions › Subscription cancellation. Aí define:
- Quando produz efeito: de imediato, no fim do período atual, numa data específica ou no fim do período de faturação.
- O que acontece ao tempo não usado: como são tratados os créditos.
- Exceções: “Allow overriding via Chargebee interface” permite à sua equipa mudar a predefinição caso a caso, e “Add condition to this rule” permite que o comportamento varie por canal (interface web, API, Self-Serve Portal, cancelamentos agendados).
Fim do período: non-renewing
Quando um cancelamento é agendado para o fim do período, a subscrição não termina logo. Segundo a API Cancel a subscription, o seu estado passa a non_renewing e os ciclos de faturação restantes descem para 0. Depois cancela no fim do período. O Chargebee envia subscription_cancellation_scheduled quando o cancelamento é agendado, um subscription_cancellation_reminder 6 dias antes de produzir efeito e subscription_cancelled quando produz efeito (tipos de eventos).
Uma subscrição non-renewing ainda pode ser mantida. O Chargebee tem uma operação “Remove scheduled cancellation” exatamente para esse caso.
Períodos contratuais
Para subscrições com um período contratual, a documentação de cancelamento diz que um cancelamento a partir do Self-Serve Portal só acontece no fim do período contratual. Na API, estas subscrições usam contract_term_cancel_option em vez de cancel_option.
Deixar os clientes cancelar sozinhos
Nas definições do Self-Serve Portal, “Allow customers to cancel subscription” ativa o cancelamento em autosserviço. Escolhe quando produz efeito: de imediato, no fim do período, ou deixar os clientes escolher (e nesse caso podem também escolher uma data dentro do período da subscrição). A mesma secção inclui a recolha opcional de feedback, a reativação e a remoção de cancelamentos agendados.
Ative-o. Obrigar os clientes a enviar um email ao suporte para cancelar cria uma fricção que aparece sob a forma de chargebacks e avaliações negativas, e em muitos sítios a lei espera agora que cancelar seja tão fácil como subscrever.
Códigos de motivo
O Chargebee tem uma lista nativa de motivos de cancelamento. Configura-a em Settings › Configure Chargebee › Reason Codes › Subscriptions › Subscription Cancellation (Reason Codes). Os códigos aparecem depois como opções quando uma subscrição é cancelada a partir da interface do Chargebee ou do Self-Serve Portal, e pode torná-los obrigatórios.
Na API, o endpoint Cancel a subscription aceita cancel_reason_code: uma string sensível a maiúsculas, com até 100 caracteres, que tem de corresponder a um dos códigos configurados, e que tem de ser enviada se tornou os motivos obrigatórios.
Mantenha a lista curta e acionável. Seis a oito motivos, cada um associado a uma resposta diferente, valem mais do que vinte que ninguém lê:
| Código de motivo | O que pode oferecer |
|---|---|
| Demasiado caro | Um desconto durante alguns meses, ou um plano mais barato |
| Não uso o suficiente | Uma pausa, ou um plano mais pequeno |
| Vou fazer uma pausa / sazonal | Uma pausa com data de retoma |
| Falta uma funcionalidade | Nada para vender; registe-o e diga se está planeada |
| Vou mudar para outra ferramenta | Nada; pergunte o que escolheu e deixe-o ir |
| Problemas técnicos | Um caminho rápido para o suporte |
| Outro | Texto livre |
Construir o fluxo
Opção 1: o produto de retenção do próprio Chargebee
O Chargebee oferece ofertas na página de cancelamento através do Chargebee Growth (que absorveu o produto antes chamado Chargebee Retention). O seu caso de uso de ofertas direcionadas descreve três ofertas numa página de cancelamento: um desconto (ligado a um cupão no Chargebee Billing), uma pausa e um downgrade de plano, aplicados no Billing quando o cliente aceita. Nota também que os subscritores sem um método de pagamento guardado não conseguem concluir a alteração nem retomar automaticamente depois de uma pausa. Se já paga o Growth, comece por aí.
Opção 2: a sua própria página e a API
Se preferir a sua própria página, as peças estão todas no Chargebee Billing:
- Intercete o botão de cancelar na sua app. Mostre a sua própria página antes de cancelar o que quer que seja.
- Pergunte o motivo. Uma pergunta, com os seus códigos de motivo do Chargebee como opções.
- Mostre uma oferta que sirva o motivo, ou nenhuma. Use um cupão para descontos, a API de pausa para pausas, ou uma mudança de plano.
- Mantenha “Cancelar a minha subscrição” visível em todas as etapas. Um clique, sem ecrãs extra.
- Cancele com o motivo. Chame o endpoint de cancelamento com
cancel_optiondefinido comoend_of_term(oucontract_term_cancel_optionpara subscrições com contrato) e ocancel_reason_code. Note queend_of_termcomo booleano está obsoleto em favor decancel_option. - Confirme com clareza. Mostre a data de fim e envie um email de confirmação.
- Ofereça um caminho de regresso. Até à data de fim, um botão “Manter a minha subscrição” que remove o cancelamento agendado.
Usar o motivo depois do cancelamento
O Chargebee nota que o cancel_reason_code pode não ser devolvido por predefinição para subscrições non-renewing quando as obtém; uma definição ao nível do site inclui-o, para que possa agir sobre o motivo antes de o cancelamento ser executado (Subscription Cancellation). Ative-a se quiser lembretes baseados no motivo durante o período restante.
Regras de equidade a manter
- Cancelar está sempre a um clique. Uma oferta é uma escolha, não uma barreira.
- Não mais do que uma oferta. Uma segunda oferta depois de um “não” parece regateio.
- Não pergunte o motivo duas vezes. Se o cliente respondeu na sua página, passe a resposta; não o obrigue a escolher de novo no portal.
- Respeite o cancelamento de imediato. Se recusar a oferta, cancele, confirme e pare.
Medir
Acompanhe, por motivo: quantos clientes chegaram à página de cancelamento, quantos aceitaram uma oferta e quantos desses continuavam a pagar 90 dias depois. Uma retenção que cancela um mês depois é um adiamento, não uma retenção. Os eventos subscription_cancellation_scheduled e subscription_cancelled do Chargebee, juntamente com os registos da sua própria página, dão-lhe os três números.
Fazer isto com o NoChurn
O cancelamento em si fica no Chargebee: o NoChurn chama o Chargebee para cancelar, pausar ou aplicar uma oferta, e o portal do Chargebee continua a funcionar como configurado. O NoChurn fornece o fluxo: motivos, uma oferta por motivo (desconto, pausa ou mudança de plano) e um cancelamento com um clique visível em todas as etapas, alojado ou headless através da API. As respostas alimentam um score de churn de 0 a 100 e emails de reconquista aos 30, 60 e 90 dias consoante o motivo. Veja NoChurn + Chargebee.