退款后如何撤销Android应用程序内非消费品购买权利?
我目前正在测试我的Android应用程序(应用程序内支付许可测试),需要多次购买和退款来测试它。最后一次,在发放退款时,我无意中忘记选中Play Developer控制台中的“撤销授权”框(由于某些原因,默认情况下未选中该框)。现在,我的应用程序版本总是有权利的,我不能再测试购买它了 我知道没有办法通过网站撤销该权利。似乎有一种方法可以通过API调用来实现这一点,但我没有应用程序的后端设置,也无法找到如何通过浏览器/curl成功调用函数(始终存在身份验证错误)。我的应用程序似乎无法区分已购买的权利和已退款但未撤销的权利(我的退款后如何撤销Android应用程序内非消费品购买权利?,android,google-play,google-play-services,in-app-billing,google-play-developer-api,Android,Google Play,Google Play Services,In App Billing,Google Play Developer Api,我目前正在测试我的Android应用程序(应用程序内支付许可测试),需要多次购买和退款来测试它。最后一次,在发放退款时,我无意中忘记选中Play Developer控制台中的“撤销授权”框(由于某些原因,默认情况下未选中该框)。现在,我的应用程序版本总是有权利的,我不能再测试购买它了 我知道没有办法通过网站撤销该权利。似乎有一种方法可以通过API调用来实现这一点,但我没有应用程序的后端设置,也无法找到如何通过浏览器/curl成功调用函数(始终存在身份验证错误)。我的应用程序似乎无法区分已购买的权
Purchase
对象的getPurchaseState()
调用始终返回Purchase.PurchaseState.purchased
),因此我不知道是否可以通过应用程序的代码库撤销它
我有没有办法撤销这项权利?授权自己进行API调用的过程对我来说是完全不透明的,但如果我能理解的话,这似乎是一个可行的途径。事实证明,我必须通过应用程序消费购买的产品。为此,我在设置窗格中添加了一个仅限开发人员的
首选项
(通过编程方式根据BuildConfig.Debug
的值添加一个新的首选项),专门用于撤销给定的产品。单击后,应用程序将:
Purchase
s的列表(通过BillingClient
对象的querypurchaes
方法)购买
BillingClient
对象的ConsumeAncy
方法,该方法接受购买令牌(由步骤2中的purchase
对象持有)小心不要让这个选项潜入你的
发布版
版本中,因为我认为它会在不退款的情况下撤销权利(对于不使用真金白银的许可证测试人员来说这不是问题,但会导致愤怒的客户)。对于任何感兴趣的人,这里是API调用的文档:或者可能是:非常感谢。另一个好处是,通过开发者控制台每天最多可以退款10次(包括出于某种原因的测试购买)。如果超过此限制,您的退款能力将被阻止24小时。