0

我在应用内订阅成功后访问收据(通过检查 SKPaymentTransactionStatePurchased 状态)。在我验证此收据后,在收据验证响应中,“收据”下缺少“expiration_date”、“expiration_date_ms”和“expiration_date_pst”。这是为什么?

(作为一种解决方法,我尝试获取 latest_receipt_info 的最后一个对象并引用它的到期日期。但是这个数据是指当前订阅之前的最后一个订阅。所以我在那里找不到所需的到期日期。)

如何解决此问题并检索刚刚购买的订阅的到期日期?

4

2 回答 2

1

你找对地方了。当您说“最后一个”时,您可能正在查看索引中的错误对象。最好对 latest_receipt_info 进行排序,通常按 purchase_date_* 排序,以确保您可以信赖正在查看的对象。

于 2020-12-07T11:27:02.080 回答
0

您可能应该查看本指南,看看您是否弄错了收据结构:

https://www.namiml.com/blog/app-store-verify-receipt-definitive-guide

特别是,在收据部分,您会获得一系列 IAP 项目,每个项目都包含expiration_date.

latest_receipt_info应该有当前订阅,而不是旧订阅 - 您是在处理来自 Apple json 的响应,还是只是解码本地收据?向 Apple 查询应始终返回最新的购买数据。

于 2021-03-05T17:25:31.070 回答