gpt4 book ai didi

iOS8 In App Purchase收据验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:01 25 4
gpt4 key购买 nike

我目前正在应用内购买消耗品。我已启动并运行代码,在本地执行购买和验证收据。

这是我目前正在做的伪代码:

Make purchase request
Respond to paymentQueue updatedTransactions callback
If Transaction Success
Validate app receipt fields locally (hash, bundle id, version)
Validate in app purchase fields (product, qty, transactionid)
Check transaction has not been seen before
If Validation passes
Complete in app purchase and top up user

由于 SKPaymentTransaction.transactionReceipt 已在 iOS8 中弃用,我正在使用应用收据进行验证。我假设当 updateTransactions 回调被触发时,它与应用程序购买中的最新消耗品保持同步。

在调用“paymentQueue updatedTransactions”之前,应用收据是否总是刷新?它是否有可能不存在或陈旧?

我希望最新的收据数据与响应一起下载。我的测试表明情况确实如此,但我在文档中找不到任何明确说明这一点的内容。

最佳答案

一句话,没有;应用收据可能会完全丢失或可能已过时且无法反射(reflect)最新交易。

我相信这就是 Apple 声明您应该刷新 App 收据的原因 if validation fails on iOS . “失败”的定义很宽泛;它可以是上述任何验证步骤。

要查看是否属于这种情况,请尝试以下在 iOS 8.0 上测试过的测试脚本。

  1. 开始购买,接受“确认购买”模式对话框。
  2. 在您的应用程序的交易观察器被告知购买之前,终止您的应用程序并将其从设备中删除。 “感谢您的购买”对话框仍应显示。
  3. 重新安装您的应用。当您添加交易观察者时,storekit 会通知它有关已完成交易的信息。
  4. 如果您的应用尝试读取应用收据,它将发现它丢失了。

关于iOS8 In App Purchase收据验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28835315/

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