Является ли Apple автоматически продлевает рабочий процесс подписки?

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

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

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

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

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

Статус хукаОбновитьОбновление: A statusUpdateNotification это серверная служба уведомлений для автоматически обновляемых подписок. Уведомление указывает статус подписки на момент отправки уведомления. Ссылочная ссылка: https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html

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

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

  • Шаг 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.

  • Шаг 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), если повезет, потому что, если хук получил receive_info от яблока до того, как клиент отправит счет на сервер, я не знаю этого original_transaction_id за user_id,)

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

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

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

0 ответов

Другие вопросы по тегам