【问题标题】:Not receiving expiration_date, expiration_date_ms, and expiration_date_pst in receipt validation response在收据验证响应中未收到 expiration_date、expiration_date_ms 和 expiration_date_pst
【发布时间】:2021-02-18 07:23:25
【问题描述】:

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

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

我该如何解决这个问题并检索刚刚购买的订阅的到期日期?

【问题讨论】:

    标签: ios in-app-purchase subscription receipt-validation in-app-purchase-receipt


    【解决方案1】:

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

    【讨论】:

    • 哦,谢谢。我以为它已经排序了。我会试试这个。
    【解决方案2】:

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

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

    特别是,在收据部分,您会看到一系列 IAP 项目,每个项目都包含 expiration_date 之类的内容。

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

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多