检查Google Play购买是否已退款/无效的最佳方式?

时间:2017-08-19 19:18:58

标签: java android libgdx google-play-services

这适用于libGDX And​​roid项目。我有应用内付款设置,但如何检查是否已处理退款?使用In App Billing Helper,我尝试了类似的方法:

inventory.getPurchase(SKU_FULLVER).getPurchaseState()

但是对于退款购买,这将返回null。我期待一个数字(1,2或3,根据表6中提到的代码:https://developer.android.com/google/play/billing/billing_reference.html)。这是检查购买是否已退款或是否有更好的方法的正确方法?

1 个答案:

答案 0 :(得分:0)

您可以尝试将此文档发送至purchase an item。只需按照所有步骤操作即可。

  

要从您的应用开始购买请求,请调用getBuyIntent   应用内结算服务的方法。传递应用内结算API   版本,您的呼叫应用程序的包名称,以及该产品的产品ID   要购买的商品,购买类型(“inapp”或“subs”)和a   developerPayload字符串到方法中。 developerPayload字符串   用于指定您想要Google Play的任何其他参数   与购买信息一起发回。

文档中给出的示例将引导您获得以下输出:

'{
   "orderId":"GPA.1234-5678-9012-34567",
   "packageName":"com.example.app",
   "productId":"exampleSku",
   "purchaseTime":1345678900000,
   "purchaseState":0,
   "developerPayload":"bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ",
   "purchaseToken":"opaque-token-up-to-1000-characters"
 }'

从输出中,您可以看到purchaseState也包含在内。其中,您现在可以确定购买的状态。

希望这有帮助。