покупка Apple в приложении: последовательность / сортировка данных latest_receipt_info - PullRequest
0 голосов
/ 17 июня 2020

Я использую покупку в приложении с автоматическим продлением в одном из моих проектов.

Для проверки срока действия я анализирую квитанцию ​​и сравниваю дату подписки с сегодняшней датой. Для последней подписки я забираю последний объект из ключа latest_receipt_info , но теперь я заметил, что последовательность / сортировка latest_receipt_info обратная в моем ответе на проверку получения, я имею в виду последнюю подписку, поступающую на 0 (первый и не последний).

in_app key также возвращает данные таким же образом.

У меня есть пара вопросов, может ли кто-нибудь мне помочь

  1. Кто-нибудь сталкивался с этой проблемой раньше?
  2. Как правильно проверить дату последней подписки
  3. latest_receipt ключ также пуст

Я знаю, как иметь собственную сортировку по ответу, но ищу правильный подход.

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

{
  "status": 0,
  "environment": "Production",
  "receipt": {
  //other keys/values
  "in_app": [
  {
    "product_id": "MyTestMontlyPlan",
    **"expires_date": "2020-06-29 14:47:20 Etc/GMT",**
    //other keys/values
  },
  {
    "product_id": "MyTestMontlyPlan",
    **"expires_date": "2020-05-29 14:47:20 Etc/GMT",**
   //other keys/values
  }]},
  "latest_receipt_info": [
  {
    "product_id": "MyTestMontlyPlan",
    **"expires_date": "2020-06-29 14:47:20 Etc/GMT",**
  },
  {
    "product_id": "MyTestMontlyPlan",
    **"expires_date": "2020-05-29 14:47:20 Etc/GMT",**
  }],
  "latest_receipt": "...", //idk why it is blank, in sandbox we receive receipt data here
  "pending_renewal_info": [
  {
    "auto_renew_product_id": "MyTestMontlyPlan",
    "original_transaction_id": "#############",
    "product_id": "MyTestMontlyPlan",
    "auto_renew_status": "1"
  }]
}

1 Ответ

1 голос
/ 20 июня 2020

Теперь они отсортированы по pruchase_date_ * для безопасности, вы должны отсортировать этот массив самостоятельно, чтобы защитить от любых будущих изменений. Отфильтруйте транзакции, у которых есть предыдущая дата истечения срока действия и которые были обновлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...