Android 谷歌InAppBilling-如何测试非消费品购买是否已退款?

Android 谷歌InAppBilling-如何测试非消费品购买是否已退款?,android,libgdx,google-play,in-app-purchase,in-app-billing,Android,Libgdx,Google Play,In App Purchase,In App Billing,我已经使用他们的InAppBilling库在我的Android应用程序中实现了Google Play Games in app billing。购买流程正常,但问题是当我通过Google Play控制台发出退款(并吊销许可证)时。以下是我检查购买情况的方式: Purchase purchase = inventory.getPurchase(SKU_FULLVER); if (purchase == null) { globals.purchased = false; } else {

我已经使用他们的InAppBilling库在我的Android应用程序中实现了Google Play Games in app billing。购买流程正常,但问题是当我通过Google Play控制台发出退款(并吊销许可证)时。以下是我检查购买情况的方式:

Purchase purchase = inventory.getPurchase(SKU_FULLVER);

if (purchase == null)
{
    globals.purchased = false;
}
else
{
    globals.purchased = true;
    globals.purchaseState = purchase.getPurchaseState();
}
我也会这么想~

A:退款+撤销导致采购对象为空 或
B:getPurchaseState返回与购买相关的值“未购买”、“购买已完成”或“已退款”。但是,如果没有购买,则购买状态为空,如果购买或退款,则始终为零。有人有什么建议吗?我已经浪费了很多时间试图解决这个问题。

这似乎没有很好的记录。调用
purchase.getOriginalJson()
时是否会得到名为
purchaseState
的json对象?根据我找到的文档,如果产品被取消,它应该返回1。Purchase类中的getPurchaseState()方法正是这样做的——它从原始JSON返回purchaseState值。