当用户购买易损件时,我的SKPaymentTransactionObserver
收到一组SKPaymentTransaction
。然后,该应用可以检查transaction.TransactionState
和transaction.Payment.ProductIdentifier
来验证该Iap是否已实际购买。
但是我的应用程序使用它来允许用户从我的Web服务下载内容。因此,问题是网络服务如何验证该应用程序确实购买了该应用程序,而不是只是说它是假的应用程序?我需要某种方法来验证服务器上的SKPaymentTransaction
。要么通过签名,要么通过应用商店的验证服务。
Windows has a way to do this on UWP。在iOS上有办法吗?
我已经检查过SKPaymentTransaction,SKPayment等,但是全部都没有显示验证方法,或者它们都是关于非消耗品的(它们存储在应用程序的收据中)
答案 0 :(得分:2)
有两种方法可以验证iOS消耗品的应用内购买。
首先,您可以在应用(see Validating Receipts Locally)中本地验证收据。但是,它仍然容易破裂。
最安全的方法是通过将收据发送到服务器,然后再将其发送到Apple (see Validating Receipts With the App Store)来执行服务器端验证。