1

我正在尝试验证 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_dateexpiration_date字段,您会很快注意到它们相隔近 3 小时!(它甚至不是一个偶数,这也增加了混乱......)。

我还没有看到其他人有这个问题,这就是为什么我基本上把头发拉出来了。

4

1 回答 1

1

问题是我们没有创建沙盒帐户,而是使用了我们的 iTunes Connect 帐户。在我们创建并使用它们之后,它突然完美地工作了!

于 2015-11-29T14:14:24.273 回答