У меня есть веб-приложение Django, использующее пользовательскую модель, основанную на AbstractUser.
Пользователи регистрируются и могут загружать аудиофайлы, которые затем заполняют аудиоплеер.
Я хочу иметь два уровня - бесплатный и платный.Бесплатные пользователи могут загрузить только 5 аудио файлов.Платные пользователи могут загружать неограниченное количество раз.
Я предложу 3 тарифных плана: ежемесячный, полугодовой (6 месяцев) и годовой.
В настоящее время в моем проекте django есть две группы.«Бесплатный пользователь» и «Золотой участник».
В представлении загрузки есть проверка, что, если пользователь загрузил 5 файлов и они являются членом группы «Свободный пользователь», они перенаправляются на страницу, которая говорит, что они должны быть участником.Эта страница будет иметь три варианта, которые я упомяну ниже.,,
Я создал свои планы в Stripe и установил dj-stripe.
Я думал, что процесс пойдет так:
Пользователь регистрируется, и он автоматически становится членом группы "Free User".У меня есть код для этого.
После успешной регистрации они будут перенаправлены на страницу подписки, где им предоставляется возможность выбрать ежемесячную, полугодовую или годовую подписку.Под каждой будет три колонки с характеристиками / ценами и кнопкой оформления заказа.Внизу будет «Продолжить как бесплатный пользователь» с ограничением 5 загрузок.
Как только пользователь подписывается на один из планов, ему следует изменить свою группу с «Свободный пользователь» на Золотого участника.
Я предполагаю, что мне нужно выяснить, как использовать веб-хуки для информирования моего сервера / проекта о событиях с моими клиентами / пользователями.
Таким образом, при создании новой подписки Stripe отправляет событие на мой сервер, а сервер меняет группу пользователей.Если подписка пользователя истекает, сервер изменит группу обратно на Свободного пользователя, пока проблема не будет устранена.
Я скачал Ngrok, чтобы попробовать и протестировать, но я даже не уверен, каков будет процесс.Я знаю, ЧТО я хочу сделать, но не уверен, КАК это сделать.
Дайте мне знать, какой код вы хотели бы видеть.Скажите, что мне нужно прочитать, чтобы понять, как это сделать.Если я запускаю команды
python manage.py djstripe_init_customers
python manage.py djstripe_sync_plans_from_stripe
, я вижу свои планы в администраторе django и вижу своих пользователей в администраторе полосы.
Буду ли я создавать приложение «подписки» и иметь там модели и представления для кнопок подписки и т. Д.?