Assinaturas do Discourse - esclarecer "Cancelar no final do ciclo"

Acontece que o usuário pode fazer o que eu pedi (mudei "permitir" para "esclarecer" no título agora)… então aqui estão duas coisas novas, mas relacionadas…

Solicitações de recursos: A redação padrão deve deixar claros os dois tipos de cancelamento. A interface de administração deve ter a mesma coluna "Status" da interface do usuário.

Aqui estão alguns detalhes…

Parece que "cancelar" em Assinaturas do Discourse significa duas coisas diferentes dependendo de quem o faz! Para o usuário, ele apenas cancela a renovação automática; para o administrador, ele cancela toda a assinatura imediatamente.

  1. Se o usuário clicar no ícone de lixeira em u/.../billing/subscriptions, a solicitação é "Tem certeza de que deseja cancelar esta assinatura?"

    Escolher Sim aciona o webhook customer.subscription.updated.

    Duas partes notáveis da resposta são \"cancel_at_period_end\": true e \"status\": \"active\". A página de assinatura do usuário ainda permanece "Status: Ativo", mas para "Renova" agora declara "cancelado". O usuário permanece no grupo de assinantes.

    Irritantemente, a interface de administração não indica mais que a renovação automática foi cancelada – ela apenas tem "Status: ativo".

  2. Se o administrador clicar em "cancelar" em /admin/plugins/discourse-subscriptions/subscriptions, a solicitação novamente é "Tem certeza de que deseja cancelar esta assinatura?" (também pergunta sobre o reembolso).

    Escolher Sim aciona o webhook customer.subscription.deleted.

    A resposta inclui \"status\": \"canceled\". A assinatura é excluída em todos os lugares e o usuário é removido do grupo de assinantes.