如何获取已购买的iOS IAP Auto Renewable产品的详细信息

时间:2017-01-05 18:29:57

标签: ios iphone in-app-purchase storekit auto-renewable

我已经在沙盒环境中创建了自动可再生产品和测试。我的问题是我购买了一个产品,如果我尝试使用相同的Apple帐户购买同一产品,则显示已按预期购买的警报但我无法获取该交易详情,因为它在更新的交易中执行失败状态。我们如何在初始交易中获得所购买的详细信息(至少是原始的收据ID)。

3 个答案:

答案 0 :(得分:1)

有两种方法可以获得用户购买交易的详细信息:

  1. 刷新收据
  2. 恢复已完成的交易
  3. 了解更多有关刷新收据和详细恢复交易,请检查: - SKReceiptRefreshRequest vs restoreCompletedTransactions

    简单地说,

    • 刷新收据会向App Store询问收据的最新副本。
    • 恢复已完成的事务会为用户完成的每个已完成事务创建一个新事务,实质上是为事务队列观察者重放历史记录。

    <强>问题: 我们如何在初始交易中获得所购买的详细信息(至少是原始的收据ID)。

    答案:如果您希望每次都使用原始的ReceID验证用户,而不是每次用户SKReceiptRefreshRequest用于验证用户交易。

    注意:如果您使用RestoreCompletedTransactions验证用户,则任何时候,您的transactionID都会更改。 查找restoreTransaction时更改的参数列表:https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html#//apple_ref/doc/uid/TP40010573-CH106-SW1

答案 1 :(得分:0)

您必须实施一种在应用中恢复已购买产品的机制。

有关恢复购买产品究竟是什么的详细信息: Restore Purchased Products

要进入实现部分,您可以按照本教程进行操作: In App Purchase tutorial

本教程的后半部分将指导您完成还原购买的实现。

答案 2 :(得分:0)

通过validating Receipts With the App Store,您可以找到已购买的产品标识符。您可以使用Cocoapods库来查找所购买的产品。

  1. SwiftyStoreKit
  2. DHAppleReceiptParser
  3. IAPValidation
  4. 我希望它会对你有所帮助。