自动续订订阅到期日期不符合 Apple 规范
Auto-renewable subscriptions expiration date off Apple specification
我正在尝试验证 iOS 上的自动续订订阅。更具体地说,我想:
1) Verify that the signature is correct [ √ ]
2) Verify that the subscription has not expired [ 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 小时! (连偶数都不是,这也增加了混淆...)。
我还没有看到其他人遇到过这个问题,这就是为什么我基本上对此感到不安。
问题是我们没有创建沙盒帐户,而是使用了我们的 iTunes Connect 帐户。在我们创建并使用它们之后,它突然完美地工作了!
我正在尝试验证 iOS 上的自动续订订阅。更具体地说,我想:
1) Verify that the signature is correct [ √ ]
2) Verify that the subscription has not expired [ 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 小时! (连偶数都不是,这也增加了混淆...)。
我还没有看到其他人遇到过这个问题,这就是为什么我基本上对此感到不安。
问题是我们没有创建沙盒帐户,而是使用了我们的 iTunes Connect 帐户。在我们创建并使用它们之后,它突然完美地工作了!