Windows 8 Windows 8 IAP收据处理服务器端&;消耗品?

Windows 8 Windows 8 IAP收据处理服务器端&;消耗品?,windows-8,in-app-purchase,receipt,Windows 8,In App Purchase,Receipt,我正在为Windows8IAP实现一个简单的服务器端验证,我对如何处理这个问题有点困惑。基本上,我所知道的是,我使用示例中包含的代码验证收据 在本例中,有一个AppReceipt和ProductReceipt。如果我理解正确,有一个简单的IAP可以购买,例如,游戏中的黄金,我只对产品收据感兴趣。然而,我不明白为什么这里包含“AppReceipt”。初始应用程序购买始终包含在收据中,还是可选字段 所以,一种统一的方法确保用户不能“现金入”同一个收据两次,这只会简单地将ProductReceign

我正在为Windows8IAP实现一个简单的服务器端验证,我对如何处理这个问题有点困惑。基本上,我所知道的是,我使用示例中包含的代码验证收据

在本例中,有一个AppReceipt和ProductReceipt。如果我理解正确,有一个简单的IAP可以购买,例如,游戏中的黄金,我只对产品收据感兴趣。然而,我不明白为什么这里包含“AppReceipt”。初始应用程序购买始终包含在收据中,还是可选字段


所以,一种统一的方法确保用户不能“现金入”同一个收据两次,这只会简单地将ProductReceignID保存到后端数据库中?这对于耐用品和消耗品都是一种有效的方法,后者尚未实施?

AppReceipt只是一个可以忽略的例子。在大多数情况下,游戏会向您发送收据(ProductReceiveXML),您必须在服务器端验证它

如果你看: 你会注意到:

每个收据元素的ID对于每个用户(和设备)都是唯一的,您可以在服务器上对其进行验证,以确认该交易对该用户来说是合法的,而不是欺诈交易。当您的应用程序有自己的身份验证机制时,这一点尤其重要,因为它允许您验证似乎购买了您的应用程序的每个用户实际上都是唯一的客户

因此,如果您愿意,可以从这个XML中提取ID