Является ли Apple автоматически продлевает рабочий процесс подписки? - PullRequest
0 голосов
/ 14 сентября 2018

В функции покупки приложения включена моя система архитекторов.

enter image description here

Моя покупка в приложении включает в себя следующие компоненты:

Клиент : Мое мобильное приложение.

Сервер : Моя серверная система.

Apple's Store : магазин Apple, который подключается к iTunes, настроен для покупки в приложении.

Hook statusUpdateNotification : A statusUpdateNotification - это межсерверная служба уведомлений для автоматически обновляемых подписок. Уведомление указывает статус подписки на момент отправки уведомления. ссылка : https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html#//apple_ref/doc/uid/TP40008267-CH7-SW6

База данных : Моя система баз данных.

Текущий рабочий процесс :

  • Шаг 1 : запрос мобильного приложения на оплату в магазин Apple через ios's Storekit и ituneconnect пользователя, когда пользователь покупает товар в приложении.
  • Шаг 2 (1) : магазин Apple взимается с пользователя, если product_id совпадает с магазином и возвращает мобильному приложению счет.
  • Шаг 3 (1) : мобильное приложение отправляет этот счет на сервер с аутентификацией, чтобы сервер знал, кто является покупателем. Сервер проверит счет в магазине Apple на шаг 5 (1) , если счет действителен, магазин Apple ответит, уведомив, что этот счет действителен ( шаг 4 (1) ) и сервер обновит этот продукт для пользователя, более того, сервер сохранит уникальный bill_id и user_id для возобновления в следующий раз - -------- шаг 6 (1) . И сервер ответит клиенту о выходе из процесса ( шаг пустой номер ) => первый способ покупки.

В решении этот пункт является возобновляемым, система будет использовать Hook statusUpdateNotification system.

  • Шаг 1 : то же действие, что и выше.

  • Шаг 2 (2) : магазин Apple будет доставлять объекты JSON через HTTP POST на ваш сервер для ключевых событий подписки, перечисленных в Таблица 6-3 . Моя проблема начинается здесь. . Apple отправит на хук с latest_receipt_info, и я могу выполнить синтаксический анализ, чтобы получить original_transaction_id, но, если у него будет только original_transaction_id, моя система не сможет узнать, кому нужно обновить, поэтому мне нужно запросить из базы данных с помощью original_transaction_id и получить user_id сохранено ( шаг 3 (2) ) до ( шаг 3 (1) , если повезет , потому что, если хук получен квитанция от Apple до того, как клиент отправит счет на сервер, я не знаю этого original_transaction_id для user_id.)

  • Если Hook может получить user_id из базы данных с original_transaction_id, мой процесс покупки будет успешным. В противном случае моя система выйдет из строя, потому что я не могу знать, что пользователь обновит купленный продукт.

Я не уверен, когда Apple Store отправит счет моему клиенту и когда он отправит на крючок. Это отстой.

Мой вопрос : Мое решение точно? У кого-нибудь есть решение, чтобы улучшить эту проблему? благодарю вас. Пожалуйста, предоставьте запрос принять четкую информацию, если вы не понимаете, мое описание.

...