Всем привет! У меня возникла проблема, и я уже несколько дней пытаюсь её решить, но безрезультатно. Надеюсь, кто-то здесь сможет помочь ![]()
Discourse 3.4.0.beta1-dev
Subscriptions 2.8.1 - f0b4984
Установка через Docker на Linux VM
Я установил и активировал плагин Subscriptions, и он работает почти всегда при использовании встроенной таблицы цен (иногда пользователь не добавляется в группы после подписки, но это, видимо, отдельная проблема).
Однако мне действительно необходимо использовать таблицу цен и оформление заказа от Stripe, чтобы обеспечить привычный пользовательский опыт и доверие. С этой целью я настроил всё для вебхуков, включая все секреты и прочее (сейчас использую тестовый режим, поэтому применяю тестовые ключи и секреты).
Я могу успешно перейти на страницу подписки, пройти процесс оформления заказа из таблицы цен и завершить покупку с помощью тестовых карт.
Однако в результате в Discourse не создаётся подписка, и группы пользователя не меняются. При просмотре вебхуков в панели управления Stripe я вижу, что они получают ответ 422 с телом:
{
"errors": [
"customer not found"
]
}
Я пробовал это с несколькими разными пользователями, и результат всегда одинаковый.
Просмотрев базу данных, я не вижу клиентов, упомянутых в вебхуке Stripe, в таблице discourse_subscriptions_customers, а также соответствующей подписки в таблице discourse_subscriptions_subscriptions — что, возможно, ожидаемо, поскольку вызов вебхука никогда не обрабатывается?
Кстати, я подтвердил, что вызовы вебхуков Stripe в целом могут успешно выполняться: если я отключаю настройку «Использовать таблицу цен Stripe» и прохожу встроенное оформление заказа для создания подписки, всё работает нормально. А если затем отменить подписку через Stripe, то вебхук customer.subscription.deleted приходит без проблем.
Надеюсь, я просто что-то упустил, и всё настроено неправильно, но мне очень трудно понять, что именно нужно сделать, чтобы это заработало.
Заранее спасибо!
Росс

