Оказывается, пользователь может сделать то, что я просил (я уже изменил «разрешить» на «уточнить» в заголовке)… поэтому вот два новых, но связанных…
Предложения по улучшению: Стандартная формулировка должна четко различать два типа отмены. В интерфейсе администратора должна быть та же колонка «Статус», что и в пользовательском интерфейсе.
Вот некоторые детали…
Похоже, что «отмена» в Discourse Subscriptions означает два разных действия в зависимости от того, кто её выполняет! Для пользователя это означает только отключение автопродления; для администратора — немедленную полную отмену подписки.
-
Если пользователь нажимает значок корзины на странице
u/.../billing/subscriptions, появляется запрос: «Вы уверены, что хотите отменить эту подписку?»Выбор «Да» вызывает вебхук
customer.subscription.updated.В ответе выделяются два важных параметра:
"cancel_at_period_end": trueи"status": "active". На странице подписки пользователя статус всё ещё отображается как «Статус: Активен», но в поле «Продлевается» теперь указано «отменено». Пользователь остаётся в группе подписчиков.К сожалению, в интерфейсе администратора теперь не отражается, что автопродление отключено — там просто указано «Статус: активен».
-
Если администратор нажимает «Отменить» на странице
/admin/plugins/discourse-subscriptions/subscriptions, снова появляется запрос: «Вы уверены, что хотите отменить эту подписку?» (также задаётся вопрос о возврате средств).Выбор «Да» вызывает вебхук
customer.subscription.deleted.В ответе содержится параметр
"status": "canceled". Подписка удаляется везде, а пользователь исключается из группы подписчиков.