我们可以检查用户的In App Purchase是否已经被Apple退款了吗?

情况:
– 用户创build一个IAP并获得一些内容,我们存储用户设备ID,以确保他们可以随时访问这个内容。
– 用户认为他们不喜欢这些内容,所以他们打电话给苹果公司并获得退款。
– 用户仍然可以访问内容,即使他们已经退还了他们的IAP

问题:
我们不希望用户能够访问这个内容了。 这可能会成为他们会利用的漏洞。 (解锁内容,然后得到退款,并保持访问所述内容)

题:
有没有办法让我们检查用户是否已经通过他们的transactionId,transactionReceipt或者其他我们可能得到的信息被退还了IAP?

对于参考,我已经阅读了StoreKitGuide ,它没有提到这种情况。

不可以。如果已经退还了内容,则无法撤销对内容的访问权限。 我相信这是devise。 这与App Store退款一样; 如果有人购买应用程序,然后要求苹果退款,苹果不会停止用户继续使用该应用程序。

下面来自霸气的苹果最近的答案!


在4月11日你好乔,

首先感谢您的快速回复。

我觉得有些误解。 我们知道您必须保护用户信息。 而且我们不需要任何用户信息。 我们不需要任何用户的信息—- iTunes帐户,用户名,电子邮件地址和其他自己的信息。

我们只需要一个数据—–事务id(在你的代码中叫做“transactionIdentify”),例如“1000000033409668”(这个事务id是3月13日的logging)。

用户从IAP购买产品,您将生成“交易ID”并将其发送给我们。 这个交易ID存储在我们的数据库中。 现在他/她得到你的退款,所以请把交易编号发给我们。 让我们知道游戏中的哪一个取消了IAP。

发生退款时,我们认为您应该向我们提供交易编号。 有了这些数据,我们可以为所有球员提供更公平的服务。 如果你不这样做,越来越多的玩家将使用你的退款机制来获得游戏物品,而没有真正的付款。 那么你和我们将会赔钱。 我们认为这是非常重要的。

问候,

贝博

4月12日你好,

感谢您跟进我的退款交易数据。

我们将无法向您提供您所要求的退款交易数据,因为这不是根据您同意的合同向您提供的function或好处。

要查看您的付费应用合同并查看您的会员福利,请访问iTunes Connect中的合同,税收和银行业务模块:

http://itunesconnect.apple.com

如果您对大额退款不满意,您可能需要考虑调整应用内购买的价格,因为我们将来无法为您提供退款交易数据。


根据我的一个用户从苹果收到的答复,退款应用程序意味着他们将不会再收到应用程序的更新,但不会从应用程序中删除应用程序。 IAP似乎也一样。

我想知道是否没有办法通过使用restoreCompletedTransactions来检查购买的iAP,但这会popup一个用户的iTunes密码的请求,所以它的使用是有限的。

不,你不能阻止用户访问。 苹果不会停止用户在退款后使用该function