FLUXOS DE CANCELAMENTOLEMON SQUEEZY

Como reduzir o churn no Lemon Squeezy

Como o Lemon Squeezy gere estados, novas tentativas, dunning, pausa e cancelamento das subscrições, e como juntar um fluxo de cancelamento e a reconquista.

Publicado a 6 min de leitura

O Lemon Squeezy já faz bastante para manter as subscrições vivas: volta a tentar os pagamentos falhados, envia emails de recuperação e dá aos clientes um portal onde podem pausar em vez de cancelar. Este guia explica o que faz de forma nativa, que estados de subscrição e webhooks acompanhar, e onde encaixam por cima um fluxo de cancelamento e a reconquista.

Limita-se à documentação do próprio Lemon Squeezy: subscrições, o objeto subscription, recuperação e dunning, gerir subscrições com a API, portal do cliente, tipos de eventos de webhook, descontos e reembolsos e chargebacks (todos consultados em novembro de 2026).

O Lemon Squeezy é o merchant of record

O Lemon Squeezy vende aos seus clientes como merchant of record. Processa os pagamentos, os reembolsos e os chargebacks. A sua documentação diz que, numa disputa, normalmente reembolsa em seu nome e deduz o montante (menos a sua taxa de plataforma) mais uma taxa de disputa de 15 $ do seu próximo pagamento, e que fornece informação ao fornecedor de pagamentos para defender o caso. Demasiados chargebacks podem levá-lo a suspender uma loja. Para o trabalho sobre churn, isto significa que altera as subscrições através da API e do portal do Lemon Squeezy, e não processa você mesmo os pagamentos.

Os estados das subscrições

O objeto subscription tem sete estados. Saber quais ainda dão acesso é a base de tudo o resto.

Estado Significado Acesso
on_trial Em período de teste, à espera do primeiro pagamento Sim
active Ativa e válida Sim
paused Cobrança em pausa, subscrição ainda viva Opcional, decisão sua
past_due Uma renovação falhou e o Lemon Squeezy está a tentar de novo Sim
unpaid Todas as novas tentativas falharam; as regras de dunning decidem o que acontece a seguir Ver abaixo
cancelled Pagamentos futuros cancelados, ainda válida até ao fim do período (período de tolerância) Sim
expired Terminada, após cancelamento ou após o dunning Não

A orientação do Lemon Squeezy é dar acesso em on_trial, active, cancelled, past_due e, opcionalmente, paused. A sua página de dunning diz que, quando a última nova tentativa falha, a subscrição passa a unpaid e o cliente perde o acesso.

O que o Lemon Squeezy faz com os pagamentos falhados

O Lemon Squeezy tem uma recuperação nativa, descrita na sua página de recuperação e dunning:

  • Novas tentativas. Depois de uma renovação falhada, a subscrição passa a past_due e o Lemon Squeezy tenta o pagamento de novo quatro vezes ao longo de duas semanas. Uma tentativa bem-sucedida devolve-a a active. Se as quatro falharem, passa a unpaid.
  • Emails durante as novas tentativas. Cada tentativa falhada envia ao cliente um email a pedir que atualize as informações de faturação.
  • Dunning depois das novas tentativas. Se ativar o dunning, o Lemon Squeezy envia uma série de emails de recuperação durante um período que configura, e as suas regras de dunning decidem quando a subscrição passa a expired. Pode editar os emails predefinidos, os assuntos e o calendário. Se o dunning estiver desativado, o estado fica unpaid.
  • Avisos de cartão a expirar. O Lemon Squeezy pode enviar um email aos clientes antes de um método de pagamento guardado expirar.
  • O PayPal é diferente. Para as subscrições PayPal, a página PayPal diz que as novas tentativas acontecem a cada 5 dias, até duas vezes por ciclo de faturação, e que a subscrição é suspensa ao fim de dois ciclos de faturação falhados.

O mesmo link de atualização do cartão é enviado com cada email de nova tentativa e de dunning. O Lemon Squeezy nota que estes URLs de atualização expiram ao fim de 24 horas, por isso, se enviar as suas próprias mensagens, obtenha um URL novo da API de cada vez em vez de o guardar.

É uma boa base nativa. As partes que controla são o calendário do dunning e o texto dos emails; o momento das novas tentativas em si é definido pelo Lemon Squeezy.

Pausar e cancelar pela API

O guia de gestão de subscrições cobre ambos.

Pausar. Envie PATCH /v1/subscriptions/:id com um objeto pause. Existem dois modos:

  • void: para períodos em que não pode prestar o serviço;
  • free: o cliente continua a usar o produto gratuitamente durante a pausa.

Ambos param a cobrança. Uma data resumes_at opcional retira a pausa automaticamente. Definir pause como null retoma a cobrança no calendário original.

Cancelar. DELETE /v1/subscriptions/:id cancela uma subscrição ativa. Passa a cancelled e continua válida até à próxima data de renovação, indicada em ends_at, e depois expira. Durante esse período de tolerância pode retomá-la atualizando a subscrição com cancelled a false.

O portal do cliente

O portal do cliente alojado do Lemon Squeezy permite aos clientes mudar de produto de subscrição, pausar e retomar, cancelar e reativar, e atualizar os dados de faturação. Escolhe as funcionalidades que aparecem nas definições do portal. Cada objeto de subscrição traz também um URL customer_portal, um link pré-assinado válido durante 24 horas, que pode abrir a partir da sua app.

Se deixar os clientes cancelar diretamente no portal, eles saltam qualquer passo de retenção que construa. Decida de propósito: ou envia o “Cancelar” da sua app primeiro para o seu próprio fluxo, ou conta com a opção de pausa do portal como a sua única oferta.

Descontos

Os descontos do Lemon Squeezy têm três durações (objeto discount): once, repeating durante um número definido de meses, ou forever. Nos planos anuais o número de repetições continua a ser em meses, por isso dois pagamentos anuais correspondem a 24. A documentação dos descontos descreve códigos usados no checkout; não descreve como aplicar um desconto a uma subscrição já existente. Confirme com o Lemon Squeezy antes de prometer uma oferta “50% nos próximos 3 meses” a um subscritor atual. A pausa e a passagem para um produto mais barato através do portal são as ofertas que a sua documentação suporta claramente.

Webhooks a ouvir

Da página de tipos de eventos:

Evento Para que o usar
subscription_updated Evento geral com os dados mais recentes da subscrição; o Lemon Squeezy recomenda-o
subscription_payment_failed Uma renovação falhou; começam as novas tentativas
subscription_cancelled Cancelada pelo cliente ou por si; começa o período de tolerância
subscription_expired O acesso deve terminar
subscription_paused / subscription_unpaused A pausa começou ou terminou

Pode simular eventos como subscription_cancelled e subscription_expired em modo de teste.

Acrescentar um fluxo de cancelamento

  1. Encaminhe o “Cancelar” da sua app para o seu fluxo. Mostre uma lista curta de motivos mais “Outro”.
  2. Ofereça uma coisa que corresponda ao motivo. “Não o uso agora”: uma pausa em modo void com resumes_at definido. “Demasiado caro”: um produto mais barato. “Falta uma funcionalidade”: uma resposta de uma pessoa.
  3. Mantenha “Cancelar agora” visível em todos os passos. Um clique deve concluir o cancelamento sem aceitar uma oferta.
  4. Aplique o resultado com a API. Pause com PATCH e um objeto pause; cancele com DELETE, que mantém o acesso até ends_at.
  5. Confirme a data de fim a partir da subscrição devolvida pela API.
  6. Ofereça “manter a minha subscrição” durante o período de tolerância, o que define cancelled como false.

Reconquista

Quando uma subscrição está expired, acabou. Guarde o motivo que recolheu e contacte o cliente mais tarde com algo que lhe responda. Use o evento subscription_expired como início da contagem, e envie-o para um novo checkout.

Fazer isto com a NoChurn

A NoChurn lê as suas subscrições e os webhooks do Lemon Squeezy. Acrescenta um fluxo de cancelamento com motivos, ofertas (como uma pausa ou uma mudança de plano) e um cancelamento num clique sempre visível, alojado ou headless através da API, mais emails de reconquista aos dias 30, 60 e 90 baseados no motivo do cancelamento e um churn score de 0 a 100. O Lemon Squeezy continua a ser o merchant of record: pagamentos, recuperação de pagamentos, reembolsos e disputas ficam com ele. Os pagamentos falhados aparecem na cronologia do cliente e no churn score da NoChurn, e as disputas aparecem só em leitura. A NoChurn é gratuita abaixo de 300 $ de MRR. Veja NoChurn + Lemon Squeezy.

PROMPT

Read https://www.nochurn.sh/llms.txt,
then follow https://www.nochurn.sh/docs/quickstart/
to add NoChurn to this app. Use a test key
(nc_test_…) until I say we go live.

Pare de perder receita.

  • Grátis até $300 de MRR
  • Sem cartão
  • Pronto em 10 minutos
  • Nunca uma comissão sobre o que recuperamos