Похоже, у вас неправильно настроена конечная точка веб-хука. Когда период подписки истекает, Stripe отправляет веб-хук, который плагин использует для удаления членства в группе и исключения пользователя из списка существующих клиентов по этому продукту (что позволяет пользователю совершить покупку снова).
Вам необходимо убедиться, что это настроено в соответствии с инструкциями из оригинального поста здесь: Discourse Subscriptions
Один из способов подтвердить это на вашем сервере:
./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)
Обязательно замените <username> на реальное имя пользователя.
Если subscription возвращает [], значит, есть другая проблема. Но если возвращается значение, это, скорее всего, подтверждает отсутствие веб-хука.
Чтобы удалить запись DiscourseSubscriptions::Subscription, чтобы пользователь мог снова приобрести продукт:
Убедитесь, что subscription содержит только одно значение, выполнив subscription.count. Если возвращаемое значение больше 1, вам придется немного глубже изучить ситуацию, чтобы убедиться, что вы удаляете правильный экземпляр подписки. Если вы удалите не тот, данные о подписках окажутся в несогласованном состоянии, что, вероятно, приведет к некорректному поведению.
После того как вы подтвердите, что есть только одна подписка, вы можете выполнить:
subscription.destroy_all
Имейте в виду, что subscription — это значение, возвращенное из первоначального набора запросов, которые мы выполнили в консоли Rails.
Надеюсь, это поможет!