Отсутствие получения expiration_date, expiration_date_ms и expiration_date_pst в ответе проверки квитанции
Я получаю доступ к квитанции после успешной подписки в приложении (проверяя состояние SKPaymentTransactionStatePurchased). После того, как я проверил эту квитанцию, в проверочном ответе квитанции "expiration_date", "expiration_date_ms" и "expiration_date_pst" отсутствуют в разделе "Receiver". Это почему?
(В качестве обходного пути я попытался получить последний объект latest_receipt_info и указать дату его истечения. Но эти данные относятся к последней подписке перед текущей. Поэтому я не могу найти там требуемую дату истечения срока.)
Как я могу решить эту проблему и узнать дату истечения срока подписки, купленной только что?
2 ответа
вы ищете в нужном месте. Вы, вероятно, смотрите не на тот объект в своем индексе, когда говорите «последний». Рекомендуется сортировать latest_receipt_info, обычно по дате покупки_*, чтобы убедиться, что вы можете рассчитывать на объект, на который смотрите.
You should probably check this guide to see if there's something about the receipt structure you are getting wrong:
https://www.namiml.com/blog/app-store-verify-receipt-definitive-guide
In particular, in the receipt section you get an array of IAP items, each of which holds things like
expiration_date
.
latest_receipt_info
should have the current subscription, and not the older one - are you processing the response from Apple's json, or just decoding the local receipt? A query with to Apple should always return the latest purchase data.