gpt4 book ai didi

validation - iOS7 中非消耗性产品的服务器端收据验证和 transactionReceipt 弃用

转载 作者:行者123 更新时间:2023-12-02 11:27:31 27 4
gpt4 key购买 nike

我正在从以前的 iOS 移植一个工作应用程序,但在使用新的应用程序内购买收据时遇到了问题。

我们现在的工作方式是从 SKPaymentTransaction 对象中获取 transactionReceipt 属性并将其发送到服务器进行验证。

从我从其他问题中收集到的信息来看,收据现在似乎保存在一个地方,即:

[[NSBundle mainBundle] appStoreReceiptURL];

这里有一些我不明白的事情:

  1. 现在所有购买的产品都有一张收据吗?
  2. 如果是这样,这个文件会越来越大吗?
  3. 如果我想将单一产品的单一收据发送到服务器,我该怎么做?
  4. 这是始终将完整文件发送到服务器的唯一方法吗?

对此感到非常困惑,任何帮助将不胜感激。

最佳答案

根据我通过 Apple 文档收集到的信息。

1) 所有购买的产品都有一张收据。为了执行服务器端验证,您将整个收据发送到您的服务器,服务器将其转发给 Apple 进行验证。请参阅 Apple 开发者论坛上的这篇文章(从评论 13 开始)https://devforums.apple.com/thread/193893?tstart=0

2) 非消耗品将永远保留在收据中,所以它会不断增长。一旦通过调用 finishTransaction 完成,消耗品就会从收据中延迟删除。请参阅https://devforums.apple.com/message/876265#876265

3) iOS6 循环更新交易并将单独的收据发送到服务器进行验证的方式似乎与新的 iOS7 设计不一致。 Apple 开发者论坛上的这篇文章建议您“将完整的交易列表与收据一起发送到您的服务器。收据验证后,交付所有产品,并完成所有交易。https://devforums.apple.com/message/897870#897870

4)情况似乎确实如此。

如果您认为 iOS7 文档缺失,您可以向 Apple 提交错误报告

关于validation - iOS7 中非消耗性产品的服务器端收据验证和 transactionReceipt 弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19158857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com