Я обнаружил одну недостающую функцию: подписки (Memberships). Она ориентирована на Stripe, а у меня нет физической карты или банковского счёта.
Только PayPal.
Я нашёл обходной путь. Это немного громоздко, но работает.
Добавить товары в магазин WooCommerce, который у нас уже есть.
Добавить плагин подписок.
Добавить синхронизацию с Discourse.
Сделать всю работу с API.
Добавил код, отслеживающий момент добавления подписки к ежемесячной или годовой.
Синхронизируется с Discourse и добавляет пользователя в соответствующую группу; когда подписка истекает, пользователь удаляется из неё.
То есть пользователь заходит в магазин и оформляет одну из этих подписок:
WordPress инициирует действие, и API отправляет запрос в Discourse для добавления пользователя в группу.
PayPal обрабатывает повторные платежи через PayPal.
