Я предлагаю подписку в своем заявлении, и после покупки я проверяю эту транзакцию по квитанции, чтобы получить дату ее истечения.Я делаю это, загружая квитанцию с диска, отправляя ее в Apple для проверки / дешифрования (я знаю, что это плохая практика), а затем перебирая latest_receipt_info
в ответе JSON, ища транзакцию, соответствующую transactionIdentifier
запросаSKPaymentTransction
object.
Это работает для большинства подписок, но не для тех, которые предлагаются с бесплатной пробной / вводной версией.Пожалуйста, посмотрите на мой пример ниже:
- Я покупаю подписку, которая возвращается к моей заявке с
transactionIdentifier
из 1000000506350685
и originalTransaction.transactionIdentifier
из null
. - Я получил последнюю квитанцию JSON от Apple, чья последняя запись совпадает с моим идентификатором продукта и отметкой времени, но
transaction_id
равно 1000000506350686
и original_transaction_id
.
Поэтому я не могу подтвердить покупку.
Нет проблем при покупке подписки без бесплатного ознакомительного / ознакомительного предложения.В возвращенной квитанции нет других объектов, соответствующих идентификатору транзакции, возвращенному в мое приложение.
Это в среде песочницы, я не уверен в поведении в рабочей среде.
Есть кто-нибудьБыл ли подобный опыт?Что я могу сделать, чтобы это исправить?