Кроссплатформенные подписки IAP iTunes - как создать стабильный протокол проверки подписок? - PullRequest
0 голосов
/ 29 октября 2018

Я с трудом нахожусь в глубоком обсуждении правильного способа реализации отказоустойчивого протокола для проверки подписки на разных платформах с помощью IAP iTunes. Пользователь с выбранным адресом электронной почты для подписки должен иметь возможность войти в любую из наших служб после установки iTunes.

Пока протокол реализован следующим образом:

  1. Пользователь инициирует покупку на устройстве iOS
  2. Устройство напрямую связывается с Apple, и на устройство возвращается квитанция
  3. Устройство отправляет квитанцию ​​в паре с подписанным письмом на наш сервер
  4. Сервер может затем подтвердить подписку и обновить статус подписки, используя квитанцию ​​

Этот протокол может показаться хорошим на первый взгляд, но следующий сценарий неприятен.

Сценарий: Устройство успешно совершает покупку, но по какой-то причине не может сообщить о получении и о подписанной почте на наш сервер (возможно, из-за плохого интернет-соединения или сбоя сервера). Теперь пользователь платит за подписку, но у нас нет инструментов для проверки этого.

Например, это может произойти, если пользователь совершает покупку в приложении для iPhone, нажимает кнопку "Принять", и до получения квитанции пользователь закрывает приложение.

Кто-нибудь получил представление о правильном способе обработки этого сценария?

...