我们如何在服务器端验证Android应用内账单收据?
我正在Android游戏中实现应用内计费,我们希望使用服务器来存储购买信息 据我目前了解,Android Market将以广播接收器的形式向应用程序返回关于购买状态的回调。但是由于我们在服务器上持久化事务信息,我的应用程序必须发出一些http post请求并更新我的服务器。这个http post请求很有可能被某些黑客手动模仿。如何从我的服务器代码验证Android market收据信息 我的服务器是否有Google checkout回调?或者有没有办法验证http客户端提供的IAB响应是真实的,并且它只是在我的应用程序中完成的购买 在苹果IOS IAP进程中,@我们可以通过我们如何在服务器端验证Android应用内账单收据?,android,in-app-purchase,google-checkout,in-app-billing,Android,In App Purchase,Google Checkout,In App Billing,我正在Android游戏中实现应用内计费,我们希望使用服务器来存储购买信息 据我目前了解,Android Market将以广播接收器的形式向应用程序返回关于购买状态的回调。但是由于我们在服务器上持久化事务信息,我的应用程序必须发出一些http post请求并更新我的服务器。这个http post请求很有可能被某些黑客手动模仿。如何从我的服务器代码验证Android market收据信息 我的服务器是否有Google checkout回调?或者有没有办法验证http客户端提供的IAB响应是真实的,
req.method = URLRequestMethod.POST;
req.data = "{\"receipt-data\" : \""+ t.receipt +"\"}";
上面写着收据是否正确。对于Android,我们有类似的东西吗?编辑:这个答案已经过时了,请参见Dan J的答案
没有回调,但是Google Checkout有一个API。您的答案是。更新:您可以使用
getPurchases()
方法检索“未消费”的购买,如开发人员文档中所述:原始答案(现已过时) Google Checkout API已被弃用。您现在应该使用购买状态API 如果您计划使用Purchase Status API,则上面的链接会提到这些限制:
- 您可以使用API仅检查单个项目的状态-目前不支持批量请求订单状态
- 您可以查询2013年6月12日当天或之后下的订单的详细信息,但不能查询之前下的订单
- 您可以查询使用应用内计费v3 API进行的任何项目类型的购买,或使用应用内计费v1和v2进行的托管项目的购买。您不能使用Purchase Status API查询使用应用内计费v1或v2进行的非托管项目的购买
- 这是一篇老文章,但我希望能帮助别人
有一种方法可以验证服务器端的购买,您必须使用这个RESTAPI
这个答案已经过时了,Dan J是对的。希望OP能接受这一点。链接不存在了,它只是重定向到“谢谢”,我已经更新了答案,希望它能更新一点。