Billing API: Сервис для оплаты подписок пользователями
Возможности:
- Подключение и оплата ежемесячной подписки с автопродлением
- Отключение подписки
- Возврат средств за подписку
- Просмотр текущих подписок пользователя с датами окончания или списания средств
- Просмотр всех транзакций по картам
- Просмотр типов подписок
Реализовано:
- Интеграция с аггрегатором оплаток
- Эндпоинты для оплаты
- Эндпоинты для вывода транзакций и подписок пользователя
- Эндпоинты для отмены подписок и возврата средств за подписки
- Эндпоинт с видами подписок
- Шедулер проверяющий закончившиеся подписки и проводящий автопродление через аггрегатора
- В сервис с админкой подключены все транзакции и подписки
В разработке:
- Отправлять информацию в кафку о новых подписчиках (для Auth сервиса)
- Отправлять информацию в кафку об истекших подписках (для Auth сервиса)
- Отправлять информацию в Rabbit об успешных оплатках (для сервиса Notification)
- Отправлять логи в ELK
- Добавить в шедулер проверку не оплаченных транзакций
- Отправлять из сервиса админки данные о типах подписок и получать их в биллинг сервисе
В корне нужно создать .env файл и скопировать в него данные из .env_example
Для реальной проверки оплаток нужно прописать реальный BILLING_ID, BILLING_TOKEN
Команда для старта приложения:
docker-compose up -d
Для миграций:
docker-compose -f docker-compose.yaml exec -T app alembic upgrade head
Swagger доступен по ссылке http://localhost/api/openapi