我长期使用Google Play应用内购买(IAP),但最近(2016年6月20日)他们更新了Payments Merchant Center,以便不再显示测试购买。我引用最近发给开发人员的电子邮件:
“之前,测试购买一次性IAP会生成订单ID。从2016年6月20日开始,一次性IAP将不会生成订单ID,也不会显示在Merchant Center中。”
我在链接中找不到有关购买(非订阅)的信息: https://developer.android.com/google/play/billing/billing_testing.html 该页面有一个“取消已完成的测试购买”,仅对订阅进行评论。
我的问题是,如果他们没有出现在Payments Merchant Center中,我在哪里取消测试购买?
更新 - Google支持的官方回答:
感谢您与Google Play开发人员支持小组联系。 我检查了它,Play Developer Console目前不支持取消测试IAP。唯一的方法是消费IAP或等待14天的消费时间。
更新2-感谢Mike的回答,我插入了下面的代码:
Purchase premiumPurchase = inventory.getPurchase(Constants.SKU_PRO);
if (premiumPurchase != null) {
App.mHelper.consumeAsync(premiumPurchase, new IabHelper.OnConsumeFinishedListener() {
@Override
public void onConsumeFinished(Purchase purchase, IabResult result) {
Log.d(TAG, "Test purchase is consumed.");
}
});
}
我只运行此代码取消测试购买,并再次调试完整的购买流程。
答案 0 :(得分:12)
取消应用内购买的最简单方法是使用它。如果您使用Google提供的IabHelper,您只需拨打consumeAsync并传递购买。我维护一个功能来消费所有应用程序的应用程序内产品;这基本上是用于测试的计费重置功能。</ p>
答案 1 :(得分:1)
我从Android开发者网站获得的是,如果是测试购买,他们会阻止购买流程到达必须付费的程度。它更容易,因为Google确保您不支付测试购买的费用。它会在14天内停止。要执行此操作的帐户需要测试可以从开发人员控制台激活的许可证。
因此,您不必取消它们,因为从技术上讲,您从未购买任何东西,同时您可以测试购买物品时会发生什么。但商家中心从未收到过请求。
修改
如果您要尝试直接取消并查看会发生什么,请进行真实购买并取消。
答案 2 :(得分:1)
我迟到了,但这是从Google退款/取消应用内购买的最新方式。在左侧菜单中的Google Play控制台上,有一个名为订单管理的菜单项。这会打开一个订单摘要,底部带有蓝色REFUND按钮。点击此处,选择退款原因并提交。
答案 3 :(得分:0)
这是最新的Kotlin代码,它将消耗您所有购买的商品,因此您可以再次购买。请不要在生产代码中使用此功能,因为这样做肯定会导致不良行为。
很显然,您必须事先购买商品。
fun consumeAllTestPurchases(purchases: ArrayList<Purchase>) {
purchases.value?.forEach {
val consumeParams = ConsumeParams.newBuilder().setPurchaseToken(it.purchaseToken).build()
billingClient.consumeAsync(consumeParams) { billingResult, _ ->
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
var purchaseConsumed = true
}
}
}
}
答案 4 :(得分:0)
如果您使用的方式与TrivialDriveKotlin类似,我将在本文中发布一个功能性答案https://stackoverflow.com/a/61141740/1568148