Como acrescentar um fluxo de cancelamento às subscrições Mollie
A Mollie dá-lhe uma API para cancelar e alterar subscrições, não uma página de cancelamento. Como criar o fluxo: motivos, ofertas, planos, cancelamento limpo.
A Mollie trata das cobranças recorrentes, mas o sítio onde um cliente decide sair é a sua própria app. A Subscriptions API dá-lhe as ferramentas para cancelar uma subscrição, mudar o seu montante ou intervalo, ou mover a sua data de início. O que não lhe dá é um ecrã de cancelamento. Essa parte é sua para construir, e é aí que um bom fluxo de cancelamento compensa.
Este guia mostra o que a API da Mollie lhe permite fazer quando um cliente quer cancelar, e como transformar isso num fluxo de cancelamento curto e honesto. Limita-se à documentação da Mollie: Cancel subscription, Update subscription, Get subscription, Revoke mandate e o guia de pagamentos recorrentes (todos consultados em novembro de 2026). Verificámos também as descrições dos campos no cliente oficial da API em Node.js da Mollie.
O que a Mollie lhe dá
Uma subscrição Mollie pertence a um cliente e cobra um montante fixo num intervalo, com base num mandato. Os campos que importam para um fluxo de cancelamento:
| Campo | Significado |
|---|---|
status |
pending, active, canceled, suspended ou completed. Depende de o mandato do cliente estar pendente, válido ou inválido. |
amount |
O montante constante cobrado em cada pagamento. |
interval |
O tempo entre cobranças, como 1 month ou 14 days. |
nextPaymentDate |
A próxima cobrança agendada; ausente quando a subscrição terminou. |
times, timesRemaining |
Para subscrições com um número fixo de cobranças. |
canceledAt |
Quando foi cancelada. |
metadata |
Os seus próprios dados, passados para cada pagamento que a subscrição cria. |
E as chamadas:
- Cancelar:
DELETE /v2/customers/:customerId/subscriptions/:id. A referência da Mollie diz que uma subscrição pode ser cancelada a qualquer momento desta forma. - Atualizar:
PATCHno mesmo recurso. Os campos atualizáveis sãoamount,description,interval,startDate,times,mandateId,metadataewebhookUrl. Uma subscrição cancelada não pode ser atualizada. - Revogar o mandato:
DELETEno mandato do cliente. Deixa de poder cobrar essa conta ou esse cartão com ele, e todas as subscrições associadas são canceladas.
Note o que não está na lista: a Subscriptions API da Mollie não tem endpoint de pausa. Qualquer oferta de “pausa” tem de ser construída com as chamadas acima.
Cancele a subscrição, não o mandato
Quando um cliente cancela, cancele a subscrição. Revogar o mandato para também todas as outras subscrições baseadas nele e obriga o cliente a voltar a passar pelo checkout se algum dia regressar. Revogue um mandato só quando o cliente lhe pede para parar todas as cobranças nessa conta, ou quando tem um motivo para desconfiar dele.
Decida também o que “cancelar” significa para o acesso. A Mollie para as cobranças futuras quando cancela; não sabe o que o cliente já pagou. A maioria das empresas de subscrições mantém o acesso até ao fim do período pago. Guarde você mesmo essa data, a partir do último pagamento pago e do intervalo.
Desenhar o fluxo
Um fluxo de cancelamento tem três tarefas: perceber porque é que o cliente se vai embora, oferecer algo adequado a esse motivo e cancelar de forma limpa se ele ainda quiser sair. Limite-o a poucos ecrãs.
1. Perguntar o motivo
Uma pergunta, um toque. Uma lista curta funciona melhor do que um campo de texto livre:
- Demasiado caro
- Não o uso o suficiente
- Falta uma funcionalidade
- Vou mudar para outro produto
- Problemas técnicos
- Necessidade temporária, vou voltar
- Outro (com uma caixa de texto opcional)
Guarde a resposta na sua base de dados e, se for útil, nos metadata da subscrição, para que acompanhe o registo do cliente.
2. Fazer uma oferta correspondente
Cada oferta tem de corresponder a algo que a Mollie consegue mesmo fazer:
| Motivo | Oferta | Como na Mollie |
|---|---|---|
| Demasiado caro | Um preço mais baixo durante alguns meses | PATCH do amount; agendar uma segunda atualização para o repor |
| Não o uso o suficiente | Um plano mais barato ou um intervalo mais longo | PATCH do amount e, se necessário, do interval |
| Necessidade temporária | Saltar um período | Mover a próxima cobrança com startDate, ou cancelar e criar uma nova subscrição mais tarde (teste primeiro, ver abaixo) |
| Funcionalidade em falta, mudança, problemas técnicos | Sem desconto; pedir detalhes, encaminhar para uma pessoa | Nada a mudar na Mollie |
A Mollie aplica um amount alterado a todas as cobranças futuras. Não há um “desconto durante 3 meses” nativo, por isso um desconto temporário significa lembrar-se de repor o montante, ou criar a subscrição com times e uma seguinte. Diga ao cliente exatamente quanto vai pagar e a partir de quando.
Para uma oferta “saltar um período”, a documentação da Mollie inclui startDate entre os campos que pode atualizar, mas não descreve em detalhe como isso move a próxima cobrança numa subscrição ativa. Experimente em modo de teste e verifique nextPaymentDate antes de a oferecer aos clientes. A alternativa, cancelar agora e criar mais tarde uma nova subscrição com o mesmo mandato, é previsível mas depende de o mandato ainda ser válido nessa altura.
3. Cancelar, sempre a um clique
O botão de cancelar tem de estar visível em todos os passos, não escondido atrás da oferta. Um cliente que recusa a oferta deve ficar cancelado com mais um clique, com uma confirmação que indique:
- que a subscrição está cancelada,
- a data em que o acesso termina,
- que não serão feitos mais pagamentos.
As regras de consumo de vários países vão nesse sentido (veja regras de click to cancel), e o simples interesse próprio na Mollie também: um cliente que não encontra como cancelar uma subscrição por Débito Direto SEPA pode pedir ao banco que anule o débito. O centro de ajuda da Mollie diz que não pode contestar uma anulação SEPA pedida no prazo de 8 semanas. Uma anulação custa-lhe mais do que um cancelamento limpo.
Ligar à API
- Carregue a subscrição com Get subscription quando o cliente abre o fluxo, para mostrar o montante, o intervalo e a data da próxima cobrança corretos.
- Em “aceitar oferta”, chame Update subscription com os novos valores, depois obtenha-a de novo e mostre o resultado. Registe a oferta e o motivo.
- Em “cancelar”, chame Cancel subscription. Use uma chave de idempotência para que um duplo clique não cause problemas, e mostre a confirmação a partir da data de fim que guardou.
- Reconcilie. A Mollie também pode terminar uma subscrição por si, por exemplo depois de pagamentos falhados. Verifique o estado da subscrição com regularidade (ou em cada webhook de pagamento) para que a sua app e a Mollie estejam de acordo.
- Guarde um registo de cada passo: motivo mostrado, oferta mostrada, oferta aceite ou recusada, hora do cancelamento. Vai precisar dele para perguntas do suporte e para qualquer anulação bancária posterior.
O que medir
- Parte dos clientes que começam o fluxo e aceitam uma oferta.
- Parte das ofertas aceites que ainda pagam três meses depois.
- Motivos por plano, por origem da inscrição e por antiguidade.
- Anulações depois do cancelamento, que devem ficar perto de zero se o fluxo for claro.
Cuidado com o primeiro número. Uma oferta que adia um cancelamento um mês não é um cliente salvo.
Fazer isto com a NoChurn
A Mollie fica com a subscrição, o mandato e as cobranças. A NoChurn acrescenta o próprio fluxo de cancelamento: motivos, uma oferta adequada ao motivo e um cancelamento num clique sempre visível, alojado pela NoChurn ou construído na sua própria interface com a API headless. Para a Mollie, as ofertas aceites alteram o montante da subscrição e um cancelamento termina a subscrição, através da API da Mollie. Os motivos alimentam os emails de reconquista aos dias 30, 60 e 90 e o churn score. Veja NoChurn + Mollie.