Como pausar uma subscrição no Stripe em vez de perder o cliente
As formas de pausar uma subscrição no Stripe: pause_collection e os seus três comportamentos, o novo endpoint de pausa, a opção no portal e a retoma.
Um cliente que diz “não preciso disto durante uns meses” não é o mesmo que um que quer sair. Se o único botão que vê é Cancelar, perde os dois. Uma pausa mantém a conta, o histórico e o meio de pagamento no sítio, e dá ao cliente um caminho fácil de regresso.
O Stripe tem agora mais do que uma forma de pausar, e comportam-se de maneira diferente. Este guia explica cada uma, quando a usar e como funciona a retoma. Baseia-se na documentação do Stripe: pause payment collection, pause subscriptions, a referência da API pause subscription, as entradas do changelog sobre pausa e retoma a pedido e sobre a pausa no customer portal, e using webhooks with subscriptions (todos consultados em novembro de 2026).
Duas coisas diferentes chamadas “pausa”
O Stripe tem dois mecanismos, e confundi-los está na origem da maior parte das dúvidas.
| Pausar a cobrança | Pausar a subscrição | |
|---|---|---|
| Como | Definir pause_collection na subscrição |
Chamar o endpoint pause subscription |
| Estado da subscrição | Inalterado (por exemplo, fica active) |
Passa a paused |
| Faturas | Continuam a ser criadas, depois tratadas segundo o comportamento escolhido | Não são geradas durante a pausa |
| Períodos de faturação | Continuam a avançar | Não avançam |
| Retoma | Limpar pause_collection, ou definir resumes_at |
Retomar através da API |
| Eventos | customer.subscription.updated |
customer.subscription.paused, depois customer.subscription.resumed |
O primeiro é mais antigo e muito usado. O segundo foi acrescentado no changelog de 2026-09-30 do Stripe e está mais perto do que os clientes querem dizer com “pausar a minha conta”. Verifique que versão da API usa a sua integração antes de contar com o novo endpoint.
Opção 1: pausar a cobrança
Pausar a cobrança mantém a subscrição a funcionar, mas impede-o de a cobrar. Escolhe um de três comportamentos:
keep_as_draft: oferece o serviço gratuitamente por agora e cobra mais tarde. As faturas ficam como rascunhos.mark_uncollectible: oferece o serviço gratuitamente e marca as faturas como incobráveis.void: oferece o serviço gratuitamente e nunca cobra o período. As faturas são anuladas.
Pode definir um timestamp resumes_at opcional para que a cobrança recomece sozinha. Sem ele, a cobrança fica em pausa até limpar pause_collection. O Stripe indica também que qualquer saldo existente do cliente continua a ser aplicado às faturas durante a pausa.
Quando serve
As pausas de cobrança servem situações em que o cliente mantém o acesso: um gesto de boa vontade depois de uma falha do serviço, algumas semanas grátis enquanto um cliente resolve um orçamento, ou uma conta B2B à espera de uma nota de encomenda. Para um cliente que não vai usar de todo o produto durante algum tempo, encaixa mal: o estado da subscrição fica igual, os períodos continuam a avançar e a sua própria app tem de decidir se bloqueia o acesso.
Para uma oferta de retenção, void é normalmente a escolha honesta. keep_as_draft significa que o cliente fica a dever os meses em pausa mais tarde, o que surpreende quem pensava que “pausa” queria dizer “sem cobrança”.
Opção 2: pausar a própria subscrição
Com o endpoint pause subscription, a pausa produz efeito de imediato. Segundo o guia pause subscriptions do Stripe:
- O estado da subscrição passa a
paused. - Uma subscrição em pausa não gera faturas e não avança para novos períodos de faturação.
- Retoma-a através da API. A retoma só está disponível em subscrições com cobrança
charge_automatically. - Se a retoma não gerar uma fatura, o estado volta a
activede imediato. - Um cupão na subscrição mantém o seu período de validade original. A pausa não o prolonga.
O Stripe envia customer.subscription.paused quando o estado muda para paused e customer.subscription.resumed quando regressa. O guia de webhooks é explícito: customer.subscription.resumed não se aplica quando apenas a cobrança deixa de estar em pausa, o que é um bom lembrete de que os dois mecanismos são separados.
Outras formas de uma subscrição ficar em pausa
Há dois casos que produzem o estado paused sem que chame o endpoint:
- Um trial termina sem meio de pagamento, se configurou o trial para pausar nesse caso. O Stripe documenta isto no guia de webhooks.
- Um pagamento falha e usa a pausa em caso de falha de pagamento. Só as subscrições elegíveis em flexible billing mode podem pausar desta forma. Escolhe a retoma automática ou manual, e o campo
status_details.paused.subscription.typediz-lhe porque é que uma subscrição ficou em pausa.
Se lê subscrições paused nos seus próprios relatórios, use esse campo para que uma pausa voluntária não seja contada da mesma forma que um trial terminado sem cartão.
Opção 3: deixar os clientes pausar no customer portal
O changelog de 2026-10-28 do Stripe acrescenta a pausa ao customer portal redesenhado:
- Na configuração do seu portal, defina
features.subscription_pause.enabledcomo true. - Opcionalmente, defina
features.subscription_pause.durationpara oferecer durações de pausa predefinidas. - Para enviar um cliente diretamente para o fluxo de pausa de uma subscrição, crie uma sessão do portal com
flow_data.typedefinido comosubscription_pausee o ID da subscrição.
Isto é novo, e artigos de suporte mais antigos do Stripe ainda dizem que o portal não pode pausar subscrições. Confie no changelog e na referência da API para a sua versão da API, e teste numa sandbox antes de o anunciar aos clientes.
Como oferecer bem uma pausa
Seja qual for o mecanismo, a oferta conta tanto como a parte técnica.
- Ofereça-a no momento certo. Uma pausa é mais útil quando o motivo do cancelamento é temporário: negócio sazonal, um projeto parado, viagens, calendário orçamental. É uma resposta fraca para “é demasiado caro” ou “faltam funcionalidades”. O nosso guia sobre ofertas de pausa vs desconto explica que oferta serve cada motivo.
- Dê durações fixas. Um, dois ou três meses é mais fácil de escolher do que uma pausa sem fim, e a subscrição regressa sozinha. Use
resumes_atnas pausas de cobrança, ou as durações predefinidas do portal. - Diga exatamente o que acontece. O cliente mantém o acesso? Vai ser cobrado na retoma? Quando? Ponha a data de retoma no email de confirmação.
- Avise antes da retoma. Envie um email curto alguns dias antes do fim da pausa, com um link para prolongar a pausa ou cancelar. Renovações-surpresa depois de uma pausa transformam-se em pedidos de reembolso e em disputas.
- Mantenha o cancelamento visível. Uma oferta de pausa é uma oferta, não uma barreira. O cliente tem de continuar a poder cancelar num só passo. Veja regras de click to cancel.
Tratar a retoma na sua app
A pausa mexe no controlo de acessos, por isso ligue os eventos:
- Em
customer.subscription.paused, passe a conta para um estado em pausa. Decida se os dados continuam legíveis e diga-o no produto. - Em
customer.subscription.resumed, restaure o acesso e registe a retoma. - Nas pausas de cobrança, acompanhe
customer.subscription.updatede leia o campopause_collection, já que o estado não muda. - Conte as pausas à parte nos seus relatórios de churn. Um cliente em pausa não cancelou, mas uma pausa que acaba num cancelamento deve ser atribuída ao motivo de cancelamento original. Veja como calcular a taxa de churn.
Checklist de testes
- Uma pausa de cobrança com
voidproduz faturas anuladas e nenhuma cobrança. - Uma pausa de cobrança com
resumes_atrecomeça a faturação nessa data. - Uma pausa da subscrição define o estado
pausede para as faturas. - A retoma devolve a subscrição a
activee a sua app restaura o acesso. - A sua app reage aos eventos
pausederesumed, e ignora o fim das pausas de cobrança na lógica de retoma. - O email de lembrete sai antes de cada retoma agendada.
Fazer isto com o NoChurn
O fluxo de cancelamento do NoChurn pergunta o motivo do cancelamento e pode oferecer, consoante esse motivo, uma pausa, um desconto ou uma mudança de plano, com um botão de cancelamento num clique visível em cada passo. Funciona alojado, ou em headless através da API se quiser o seu próprio design. A pausa em si é aplicada na sua conta Stripe. Cada resposta é guardada e usada mais tarde nos emails de reconquista aos 30, 60 e 90 dias e no score de churn. Veja NoChurn + Stripe.