Renovações
Renovações estendem a validade de um entitlement sem criar um novo. O mesmo código de entitlement persiste ao longo de todos os ciclos de renovação. O MIDDAG Account suporta fluxos de renovação automática e manual.
Renovação automática
Para produtos baseados em assinatura, o WooCommerce Subscriptions e o Stripe gerenciam a cobrança recorrente. O MIDDAG Account responde aos resultados:
- Antes da expiração -- A configuração
grace_days_pre_expiryda Renewal Policy (padrão: 7 dias) determina quando o sistema tenta cobrar o método de pagamento armazenado. - Cobrança bem-sucedida -- O WooCommerce cria um pedido de renovação com status Completed. A data de expiração do entitlement é estendida pelo período de cobrança. O status permanece
active. - Cobrança falha -- A Payment Recovery Policy assume (veja Falha de pagamento abaixo).
O WooCommerce Subscriptions gerencia a complexidade da cobrança recorrente — prorrateio, agendas de retentativa e atualização de métodos de pagamento. O adaptador de assinatura do MIDDAG Account traduz esses eventos em transições de ciclo de vida do entitlement.
Renovação manual
Para entitlements sem assinatura, ou quando a renovação automática está desativada:
- Lembretes de renovação são enviados em intervalos configuráveis antes da expiração (padrão: 30, 7 e 1 dia antes).
- O cliente inicia a renovação pelo portal, que inicia um novo fluxo de pagamento.
- Após pagamento bem-sucedido, o entitlement é renovado com uma data de expiração atualizada.
A renovação manual cria um novo pedido WooCommerce, que passa pelo mesmo pipeline de qualquer outro pedido. A diferença é que o serviço de provisionamento reconhece o entitlement existente e o estende ao invés de criar um novo.
Renovação antecipada
Clientes podem renovar antes do término do período atual. A configuração early_renewal_days (padrão: 30) controla com quanta antecedência a renovação é permitida. Ao renovar antecipadamente, o novo período é adicionado à data de expiração existente — o cliente não perde tempo restante.
Período de carência
Quando um entitlement atinge sua data de expiração sem uma renovação bem-sucedida:
- O entitlement transiciona para
expired. - Um período de carência começa, governado pela Renewal Policy.
- Durante o período de carência, o cliente ainda pode renovar pelo preço original.
- Se o período de carência passar sem renovação, a Cancellation Policy assume — após
expired_to_cancelled_days(padrão: 30 dias), o entitlement é automaticamente cancelado.
Durante o período de carência, o comportamento dos recursos downstream depende da Entitlement Class:
| Classe | Comportamento no período de carência |
|---|---|
| PLG | Chave de licença permanece válida, acesso a download continua |
| ENV | Ambiente permanece acessível mas pode ser marcado para descomissionamento |
| SVC | Solicitações de serviço ainda podem ser enviadas, mas novos créditos ficam pausados |
Linha do tempo de notificações de renovação
A Notification Policy controla quando os lembretes são enviados. A linha do tempo padrão:
| Quando | Notificação |
|---|---|
| 30 dias antes da expiração | Primeiro lembrete de renovação |
| 7 dias antes da expiração | Segundo lembrete de renovação |
| 1 dia antes da expiração | Lembrete urgente de renovação |
| Na expiração | Aviso de expiração ("seu entitlement expirou") |
| Durante o período de carência | Lembrete do período de carência ("você ainda tem tempo para renovar") |
| Fim do período de carência | Aviso final ("o acesso será cancelado em X dias") |
Esses intervalos são configuráveis por classe, organização, produto ou entitlement individual através da hierarquia de overrides de política.
Alterações de preço na renovação
A configuração renewal_pricing da Renewal Policy controla qual preço o cliente paga na renovação:
| Configuração | Comportamento |
|---|---|
same | Renova pelo preço original de compra (padrão para PLG, ENV, ORD, AFL, EDU) |
current | Renova pelo preço atual do catálogo (padrão para classe SVC) |
Quando definido como current, o cliente é notificado no lembrete de renovação caso o novo preço difira do preço atual. Isso é particularmente relevante para contratos de serviço onde valores podem ser reajustados anualmente.
Independente da configuração, um admin sempre pode sobrescrever o preço de renovação para um entitlement específico.
Falha de pagamento
Quando um pagamento de renovação falha:
- O Stripe faz retentativas automaticamente conforme sua agenda configurada.
- Após as retentativas serem esgotadas, a Payment Recovery Policy determina o próximo passo.
- Por padrão (
trigger: retry_exhausted), o entitlement passa parasuspended. - O cliente é notificado a cada tentativa falha e quando o entitlement é suspenso.
- Se o pagamento for eventualmente recuperado, o entitlement retorna automaticamente para
active(auto_reactivate_on_payment: true). - Se o pagamento não for recuperado dentro de
suspended_to_cancelled_days(padrão: 30 dias), o entitlement é cancelado.
Para a linha do tempo completa de suspensão e recuperação, veja a página Mapeamento de Status de Pagamento.
Páginas relacionadas
- Pedidos e Entitlements -- como pedidos criam entitlements
- Reembolsos e Cancelamentos -- impacto de cancelamentos nos entitlements
- Mapeamento de Status de Pagamento -- transições de status entre os três sistemas
- Fluxo de Compra e Renovação -- walkthrough completo do pipeline