Подписки Discourse — уточнение «Отмена в конце цикла»

Оказывается, пользователь может сделать то, что я просил (я уже изменил «разрешить» на «уточнить» в заголовке)… поэтому вот два новых, но связанных…

Предложения по улучшению: Стандартная формулировка должна четко различать два типа отмены. В интерфейсе администратора должна быть та же колонка «Статус», что и в пользовательском интерфейсе.

Вот некоторые детали…

Похоже, что «отмена» в Discourse Subscriptions означает два разных действия в зависимости от того, кто её выполняет! Для пользователя это означает только отключение автопродления; для администратора — немедленную полную отмену подписки.

  1. Если пользователь нажимает значок корзины на странице u/.../billing/subscriptions, появляется запрос: «Вы уверены, что хотите отменить эту подписку?»

    Выбор «Да» вызывает вебхук customer.subscription.updated.

    В ответе выделяются два важных параметра: "cancel_at_period_end": true и "status": "active". На странице подписки пользователя статус всё ещё отображается как «Статус: Активен», но в поле «Продлевается» теперь указано «отменено». Пользователь остаётся в группе подписчиков.

    К сожалению, в интерфейсе администратора теперь не отражается, что автопродление отключено — там просто указано «Статус: активен».

  2. Если администратор нажимает «Отменить» на странице /admin/plugins/discourse-subscriptions/subscriptions, снова появляется запрос: «Вы уверены, что хотите отменить эту подписку?» (также задаётся вопрос о возврате средств).

    Выбор «Да» вызывает вебхук customer.subscription.deleted.

    В ответе содержится параметр "status": "canceled". Подписка удаляется везде, а пользователь исключается из группы подписчиков.