如何验证iOS消耗性应用内购买?

时间:2018-08-30 12:15:51

标签: ios xamarin.ios app-store

当用户购买易损件时,我的SKPaymentTransactionObserver收到一组SKPaymentTransaction。然后,该应用可以检查transaction.TransactionStatetransaction.Payment.ProductIdentifier来验证该Iap是否已实际购买。

但是我的应用程序使用它来允许用户从我的Web服务下载内容。因此,问题是网络服务如何验证该应用程序确实购买了该应用程序,而不是只是说它是假的应用程序?我需要某种方法来验证服务器上的SKPaymentTransaction 。要么通过签名,要么通过应用商店的验证服务。

Windows has a way to do this on UWP。在iOS上有办法吗?

我已经检查过SKPaymentTransactionSKPayment等,但是全部都没有显示验证方法,或者它们都是关于非消耗品的(它们存储在应用程序的收据中)

1 个答案:

答案 0 :(得分:2)

有两种方法可以验证iOS消耗品的应用内购买。

首先,您可以在应用(see Validating Receipts Locally)中本地验证收据。但是,它仍然容易破裂。

最安全的方法是通过将收据发送到服务器,然后再将其发送到Apple (see Validating Receipts With the App Store)来执行服务器端验证。