Обновить подписку на автоматическое продление пользователя из бэкэнда

Таким образом, у нашего приложения для iOS есть проблема с отсутствием обновления даты истечения срока действия. Теперь мы хотим обновить дату истечения срока действия всех пользователей непосредственно из нашего бэкэнда php, используя код подтверждения подтверждения Apple узла js.

Но проблема в том, что в базе данных нет идентификатора покупки, идентификатора установки.. так как же нам идентифицировать и получить квитанцию ​​​​пользователя X

мы смотрим на https://www.npmjs.com/package/node-apple-receipt-verify

Итак, User1 отправляет нам электронное письмо, что он купил автоматическое продление, но оно не было продлено, теперь мы хотим обновить дату истечения срока действия User1, прежде чем он откроет приложение.


person user528432    schedule 19.02.2019    source источник


Ответы (1)


У вас есть квитанция об отправке из приложения iOS на ваш сервер. В идеале вы должны сделать это, когда пользователь совершает покупку, но это можно сделать в любое время. Вы должны хранить это на бэкэнде с информацией о пользователях. Это квитанция, которую вы должны отправить при выполнении вызовов проверки и подтверждения в Apple.

Я не использовал эту библиотеку раньше, но общая идея заключается в том, что вы можете отправлять одну и ту же квитанцию ​​​​каждый раз, и Apple вернет вам последнюю информацию о квитанции. Вы можете использовать последнюю информацию о квитанции для обновления/отмены подписки пользователя.

Это документация от Apple: https://developer.apple.com/library/archive/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW1

person l-l    schedule 19.02.2019
comment
так что в основном я ничего не могу сделать прямо сейчас, пока пользователь не откроет приложение? так как чек никогда не сохранялся на сервере - person user528432; 19.02.2019
comment
Это единственный способ, которым я смог это сделать. Я не уверен, есть ли другой обходной путь. - person l-l; 19.02.2019