Um dos meus usuários está tendo um problema com a assinatura dele. Eu não pareço ter nenhuma ferramenta na área administrativa para ajudá-lo com esse problema.
O problema decorre do fato de a assinatura dele estar listada como “cancelada” via Stripe. Isso ocorreu porque o pagamento não pôde ser processado por um cartão de crédito específico. Isso não atualizou o status do grupo dele (após muitos meses de não pagamento), mas esse não é o problema principal. Ele não tem como atualizar as informações do cartão dele através do painel do usuário, além disso, quando ele tenta reativar a assinatura, ele recebe apenas a página que diz que a assinatura dele está ‘cancelada’, sem nenhuma forma de desassociar essa assinatura e começar de novo. Não há maneiras aparentes para eu atualizar ou recarregar o status de faturamento dele no Stripe (que eu encontrei). Eu consegui ‘remover’ a assinatura/perfil de pagamento dele (no Stripe) na esperança de que isso atualizasse os dados do plugin, mas não funcionou. Minha página de administração para o plugin mostra as informações do ID do nome de usuário dele e…
Que é o único botão de cancelar que está desabilitado para mim. Obviamente, poder remover a assinatura desta página pode resolver o problema.
A única circunstância atenuante para este problema é que este usuário também era um apoiador do Patreon antes de ser membro do plugin de Assinaturas, e embora o Patreon dele agora esteja em status ‘gratuito’, ele ainda tem a associação do Patreon listada em sua página de usuário. Apenas pensei que valia a pena mencionar caso este seja um cenário incomum.
Vou dar uma olhada e ver se consigo replicar este problema localmente primeiro e ver o que consigo como correção. Posso entrar em contato por mensagem privada se precisar de mais detalhes.
Parece impossível reativar uma assinatura após o cancelamento, seja por falta de pagamento (como acima) ou por cancelamento manual. Acho que essa é uma limitação imposta pelo Stripe.
Também notei que meu usuário de teste não parece conseguir configurar uma nova assinatura se ele tiver uma assinatura cancelada no sistema, o que parece bastante inconveniente.
Se eu voltar para a página de assinatura como se fosse um novo assinante, consigo assinar novamente um plano que cancelei e que não está mais ativo. Mas sim, atualmente não há como reativar a assinatura a partir da página de faturamento, você tem que ir para a página de assinatura regular novamente.
Entrei e me passei por este usuário e ele não tem como acessar a página de assinatura normal. Na página inicial, se ele clicar no link do menu de assinatura, ele o levará para a página de cobrança dele e, na caixa de suporte da página inicial (que mostra o progresso de quantos usuários de um total de x se inscreveram), isso o levará para a página de assinaturas, mas diz algo sobre precisar ir para a página de cobranças, etc. Então, apenas um loop, infelizmente.
Parece que é necessário uma forma de remover essas associações corrompidas ou desatualizadas com o Stripe. Além disso, seria bom remover qualquer associação com o Patreon (como administrador) que não seja mais válida, apenas para o caso de isso estar causando alguma confusão para o sistema também.
Interessante… Não é o que estou experimentando no meu site de testes:
Se eu já tenho uma assinatura cancelada, então vou para a página inicial, clico em assinar, ele me leva de volta para a página de checkout.
Eu não pensaria que as coisas do Patreon teriam algum conflito com o plugin de assinatura. Mas sim, algo parece estar se comportando um pouco diferente no seu site.
Consigo replicar seu problema no seu site, mas não nos meus sites de teste. Acho que o problema pode estar relacionado aos seus eventos de webhook do Stripe. É provável que você esteja perdendo o evento customer.subscription.deleted.
Você poderia fazer login no seu painel do Stripe e verificar quais eventos você habilitou para o seu webhook?
No seu painel do Stripe, procure por “webhooks”. Em seguida, clique no resultado “Desenvolvedores > Webhooks”: