Выбранная тема: биллинг
- Однократная оплата подписки
- Оплата с автопродлением
- Возврат денег за подписку: вычисляется по функции, учитывающей использованное время
- Админ-панель
- Оплата
- Возвраты: одобрение и отклонение
- Подписки
- Подписки пользователей
https://github.com/likeinlife/graduate_work
- @likeinlife
- @maxim-zaitsev
- @jannyss
- @BenderEg
make env
- первое, что нужно сделать - сформировать .env файл.
make up
- запустить все необходимые компоненты системы в dev-режимеmake create-admin email=<email> password=<password>
- создать админ-пользователя. Примечательно, что пароль должен быть больше 6 символов. Например:make create-admin email=123@mail.ru password=123qwe
make downv
- удаление контейнеров и volume
- см. примечания для prod-режима
make p-up
- запустить все необходимые компоненты системы в dev-режимеmake p-create-admin email=<email> password=<password>
- создать админ-пользователя. Примечательно, что пароль должен быть больше 6 символов. Например:make create-admin email=123@mail.ru password=123qwe
make p-downv
- удаление контейнеров и volume
- Запустить сервис, создать админа
- Залогиниться на http://localhost:8001/api/openapi на ручке
api/v1/auth/signin
- Перейти на http://localhost:8000/admin, залогиниться, создать объект
Subscriptions
, скопировать id - Перейти на http://localhost:8000/api/schema/swagger-ui, создать объект payments с помощью ручки
/payments/
- Вернуть платеж с помощью
/payments/refund/
- Перейти в админку, модель
Refunds
, вернуть с помощью actions
В dev-режиме используется мок-сервис оплаты, в prod - ЮКасса.
Соответственно, для запуска приложения в prod-режиме необходимо получить ключи ЮКассы и записать в переменные окружения перед запуском (BILLING_SHOP_ID
, BILLING_SECRET_KEY
)
Также нужен публичный ip-адрес для приема вебхука, можно использовать ngrok, прописав соответсвующий ip-адрес в ссылке для вебхука.
в поле BILLING_REDIRECT_URL
указывается ссылка для возвращения пользователя на сайт после совершенной оплаты (в нашем случае частичного запуска онлайн-кинотеатра указываем http://google.com/)