我们如何validation服务器端的Android应用内结算收据?

我正在实现Android游戏中的应用内结算,我们希望使用服务器来存储购买信息。

据我了解,到目前为止,Android Market将以广播接收器的forms向应用程序返回有关购买状态的callback。 但是由于我们在服务器上保存了交易信息,我的应用程序必须做出一些http post请求并更新我的服务器。 这个http post请求很有可能被一些黑客手动模仿。 如何从我的服务器代码validationAndroid市场收据信息?

有没有谷歌结帐callback到我的服务器可用? 还是有一种方法来validation由http客户端提供的IAB响应是真实的,这是一个购买在我的应用程序中完成!

在Apple IOS IAP过程中, 他们有一个validation的Web API @ https://sandbox.itunes.apple.com/verifyReceipt ,我们可以通过

req.method = URLRequestMethod.POST; req.data = "{\"receipt-data\" : \""+ t.receipt +"\"}"; 

它说如果收据是适当的或不。 我们有类似的Android的东西?

Solutions Collecting From Web of "我们如何validation服务器端的Android应用内结算收据?"

更新 :您可以使用getPurchases()方法检索“未使用”购买,如开发人员文档中所述:
http://developer.android.com/google/play/billing/billing_reference.html#getPurchases

原始答案 (现在已过时)

Google Checkout API已被弃用。 您现在应该使用购买状态API。

如果您打算使用购买状态API,上面的链接提到了这些限制:

  • 您可以使用API​​仅检查单个项目的状态 – 目前不支持对订单状态的批量请求。
  • 您可以查询2013年6月12日当天或之后的订单详情,但不适用于之前订购的订单。
  • 您可以查询使用应用内结算v3 API制作的任何商品types的购买情况,或者购买使用In-app Billing v1和v2制作的托pipe商品。 您无法使用“购买状态”API来查询使用In-app Billing v1或v2进行的非托pipe项目的购买。

编辑:这个答案已经过时了,请看Dan J的答案。

没有callback,但Google Checkout有一个API。 你的答案在这里 。

这是一个老post,但我希望能帮助别人。

有一种方法来validation从服务器端购买,你必须使用这个其余的API。

https://developers.google.com/android-publisher/api-ref/purchases/products/get