Только что перенёс сайт Xenforo на Discourse

Я обнаружил одну недостающую функцию: подписки (Memberships). Она ориентирована на Stripe, а у меня нет физической карты или банковского счёта.

Только PayPal.

Я нашёл обходной путь. Это немного громоздко, но работает.

Добавить товары в магазин WooCommerce, который у нас уже есть.

Добавить плагин подписок.

Добавить синхронизацию с Discourse.

Сделать всю работу с API.

Добавил код, отслеживающий момент добавления подписки к ежемесячной или годовой.

Синхронизируется с Discourse и добавляет пользователя в соответствующую группу; когда подписка истекает, пользователь удаляется из неё.

То есть пользователь заходит в магазин и оформляет одну из этих подписок:

WordPress инициирует действие, и API отправляет запрос в Discourse для добавления пользователя в группу.

PayPal обрабатывает повторные платежи через PayPal.

2 лайка