iOS收据不包含 repo 交易

标签 ios storekit

如果我删除应用程序中的数据,然后重新购买一些我知道该帐户已经拥有的托管 IAP,iOS 会显示 native “您确定要重新购买此商品吗?您将不会被收取费用”对话框。这正如预期的那样。

当购买返回到我的应用时,我会收到带有 [[NSBundle mainBundle] appStoreReceiptURL] 的收据。然后,我尝试通过我的服务器验证 SKPaymentTransaction 的 transactionIdentifier 和收据。

但是,由于我很久以前就已经购买了该 IAP,因此该 IAP 的收据交易 ID 与 SKPaymentTransaction 不同。

我应该如何验证这是一次有效的 repo ?我能以某种方式获得这次 repo 的签名收据吗?

最佳答案

所有购买的商品都将包含在一张收据中。您必须检查那里的所有 iAP 并查找所需的 iAP。

如果你想要原始iAP交易的id,有原始交易标识符

For a transaction that restores a previous transaction, the transaction identifier of the original transaction. Otherwise, identical to the transaction identifier.

有关收据字段的更多信息如下:https://developer.apple.com/library/prerelease/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html

无论如何,这是原始购买还是 repo 真的很重要吗?我对此的检查通常是相同的。

关于iOS收据不包含 repo 交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748866/

相关文章:

iphone - UIPickerView 通过数据源连接时导致泄漏

ios - 通过试用购买自动续订购买后应用程序崩溃

iPhone应用内购买: On error,谁的责任是通知用户?

swift - 检索产品本地化价格 - 无效函数中的意外非无效返回值

ios - 请求被服务委托(delegate) (SBMainWorkspace) 拒绝,原因为 : Unspecified

ios - 在任何滚动或表格重新加载后,在 TableView 中使用计时器重新创建计时器

iOS AFNetworking post 请求返回 Request failed : bad request (400)

ios - 如果静态库 (.a) 包含重复的目标文件 (.o) 会怎样?

ios - 需要知道何时有人取消可续订订阅

parse-platform - 如何在 watchOS 2 应用程序 Xcode 7 beta 5 中使用 Parse