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

How to fetch already purchased details of iOS IAP Auto Renewable product

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

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

有关恢复已购买产品的具体内容的更多信息: Restore Purchased Products

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

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

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

  1. SwiftyStoreKit
  2. DHAppleReceiptParser
  3. IAPValidation

希望对你有所帮助

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

  1. 刷新收据
  2. 恢复完成的交易

要详细了解刷新收据和恢复交易之间的区别,请查看:-

简而言之,

  • 刷新收据要求App Store 提供最新的收据副本。
  • 恢复已完成的交易会为用户完成的每个已完成交易创建一个新交易,实质上是为您的交易队列观察器重播历史记录。

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

答案:如果你想每次都用原始receiptID验证用户,而不是用户SKReceiptRefreshRequest来验证用户交易。

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