Срок действия автоматически возобновляемых подписок не соответствует спецификации Apple

Я пытаюсь проверить автоматически возобновляемые подписки на iOS. В частности, я хочу:

1) Убедитесь, что подпись верна [√]

2) Убедитесь, что срок подписки не истек [X]

Когда я передаю квитанцию ​​серверу, я получаю статус валидации 0, чего я и ожидал, ничего плохого в этом нет.

Однако, когда я пытаюсь прочитать дату истечения срока действия квитанции в среде песочницы, даты истечения срока действия смещаются по сравнению с указанными в документации Apple датами истечения срока действия подписки, то есть вместо истечения срока действия подписки через 5 минут в случае наша подписка на 1 месяц, срок действия составляет несколько часов!

{
    "quantity": "1",
    "product_id": "{PRODUCT_IDENTIFIER}",
    "transaction_id": "1000000182307463",
    "original_transaction_id": "1000000182307463",
    "purchase_date": "2015-11-27 23:47:06 Etc/GMT",
    "purchase_date_ms": "1448668026000",
    "purchase_date_pst": "2015-11-27 15:47:06 America/Los_Angeles",
    "original_purchase_date": "2015-11-27 23:47:07 Etc/GMT",
    "original_purchase_date_ms": "1448668027000",
    "original_purchase_date_pst": "2015-11-27 15:47:07 America/Los_Angeles",
    "expires_date": "2015-11-28 02:35:06 Etc/GMT", // ---> expires_date - purchase_date => ~ 3 hrs
    "expires_date_ms": "1448678106000",
    "expires_date_pst": "2015-11-27 18:35:06 America/Los_Angeles",
    "web_order_line_item_id": "1000000031037801",
    "is_trial_period": "true"
}

Если вы посмотрите на поля purchase_date и expiration_date, вы быстро заметите, что они разделены почти на 3 часа! (Это даже не четное число, что тоже добавляет путаницы ...).

Я не видел, чтобы кто-нибудь еще сталкивался с этой проблемой, поэтому я в основном рву из-за этого волосы.


person the_critic    schedule 28.11.2015    source источник
comment
Вы замечаете разницу, если для вашего продукта нет пробного периода?   -  person Marc Greenstock    schedule 29.11.2015
comment
Что, если кто-нибудь изменит время с его iPhone? как мы можем реализовать точку истечения срока подписки?   -  person Siddharth    schedule 03.02.2017


Ответы (1)


Проблема заключалась в том, что мы не создавали учетные записи песочницы, а использовали свои учетные записи iTunes Connect. После того, как мы создали и использовали их, он неожиданно заработал отлично!

person the_critic    schedule 29.11.2015