Usuário não consegue recomprar um produto de assinatura após cancelar

Parece que seu endpoint de webhook pode estar configurado incorretamente. Quando o período da assinatura termina, o Stripe envia um webhook que o plugin usa para remover a associação ao grupo e remover o usuário como cliente existente desse produto (o que permite que o usuário compre novamente).

Você precisará garantir que isso esteja configurado conforme o OP aqui: Discourse Subscriptions

Uma maneira de confirmar isso do seu servidor:

./launcher enter app
rails c
u = User.find_by_username(<username>)
c = DiscourseSubscriptions::Customer.where(user_id: u.id)
subscription = DiscourseSubscriptions::Subscription.where(customer_id: c.customer_id)

Lembre-se de substituir <username> pelo nome de usuário real do usuário.

Se subscription retornar [], há outro problema em andamento. Mas se retornar um valor, isso provavelmente confirma o webhook ausente.

Para excluir a entrada DiscourseSubscriptions::Subscription para que o usuário possa comprar o produto novamente:

Certifique-se de que subscription tenha apenas um valor executando subscription.count. Se o valor retornado for maior que 1, você precisará investigar um pouco mais para garantir que está excluindo a instância de assinatura correta. Se você excluir a errada, os dados de suas assinaturas ficarão em um estado inconsistente e provavelmente gerarão comportamentos estranhos.

Depois de confirmar que há apenas uma assinatura, você pode executar:

subscription.destroy_all

Lembre-se de que subscription é o valor retornado do conjunto inicial de consultas que executamos no console do Rails.

Espero que isso ajude!