URL: https://github.com/HDuh/graduate_work
-
make run
-
make migrations
- Наполнить таблицу Product.
- Пользователь на frontend [http://localhost/api/v1/order] выбирает товар (подписку) для покупки и нажимает кнопку Купить
- Поступает запрос в Order API на покупку товара. Проверку авторизации пользователя выполняет сервис авторизации. В текущей реализации сделан мок.
- Сервис Order API выполняет проверку возможности пользователя купить выбранную им подписку. Если такая возможность есть, то формируется заказ.
- Сформированный заказ передается на оплату в сервис Billing API.
- Сервис Billing API фиксирует в своей БД информацию о поступившем на оплату заказе. Запрос на оплату передается в Payment GW, который формирует одноразовую ссылку для оплаты. Пользователя редиректит на страницу оплаты.
- После успешной оплаты рендерится success page, если пользователь передумал, то cancel page
- После процесса оплаты в работу включаются webhook'и. Которые в зависимости от события, обновляют информацию о заказе и оплате в БД.
TODO:
- Workers для создания задач и гарантии Только один раз (exactly once) для взаимодействия с GW
- Рассылки пользователям после покупки
- Взаимодействие между сервисами посредством gRPC
- Взаимодействия с другими billing GW



