---
# System prepended metadata

title: App Bazar (MTS Store)

---

# App Bazar (MTS Store)
- (?) ~~попросить МТС предоставить эндпоинт для верификации на сервере по токену покупки. Уточнить как в таком случае синхронизировать AcknowledgePurchase и верификацию на сервере~~
- в сквидексе дублируем подписки
- вшиваем дефолтные подписки
- получаем подписки в ComInit в поле app_bazar_subs (актуальные для пользователя). Сервер должен по стору определить что это мтс и заполнить это поле
- инициализируем вебмодуль этими подписками
- по кнопке вебмодуль дергает эндпоинт на клиенте по покупке
- применяем покупку на клиенте (AcknowledgePurchase) и отсылаем параллельно токен покупки на сервер для верификации (и маркет ID)
- по ответу с сервера сообщаем вебу об успехе/неуспехе
- сервер по запросу верификации:
    - ~~(?) проверяет существует ли такая покупка в мтс по эндпоинту и токену (если дадут эндпоинт)~~
    - по токену покупки создает транзакцию
    - выставляет дату окончания = текущая дата + Duration подписки
    - присваивает транзакцию пользователю
    - отвечает клиенту успех/неуспех
- энпоинт на лок. сервере по запросу мтс-подписок
- вебвью сам понимает какой стор и дергает запрос нужных подписок
- в самом начале инициализируем стор, смотрим активные покупки
- если есть активные покупки, но нет подписки (из ком-инита):
    - дергаем на сервере отдельный эндпоинт по восстановлению подписки по токену покупки
        - если сервер находит по токену транзакцию у старого пользователя, то привязывает девайс к старому пользователю.
        - если не находит, то создает транзакцию и привязывает подписку к текущему пользователю
    - Клиент будет показывать попап - мы нашли вашу подписку и перезагрузка
    - аналитика. Try to buy, Purchase на клиенте. Все как с обычным стором. На пейволе тоже не забыть

