如何在播放控制台中退还测试订单(应用内购买)后删除权利

How to remove Entitlement after refund a test order (in app purchase) in play console

我在我的应用程序中测试应用内购买,我下了一个测试订单,然后在退款时忘记检查删除授权框,现在我被这个应用内购买卡住了

我在 8 月 11 日联系了 Play 控制台支持,他们总是回复(“我们正在调查这个问题”)

如何删除授权?

退款后,您应该可以再次购买。只需清除您的应用数据,然后重新购买。

我联系了Play控制台支持,回复是以后会添加

所以问题的答案是:不,您不能在退款后取消权利

The Play Console doesn’t currently support removing entitlement when a refund has already been issued. Luckily, we place a high value on developer feedback, and I’ll be sure to pass along your specific feedback to our product team. We’re continually adding new features and functionality, so please stay tuned.

有一个解决方案,来自您的应用程序:消费产品。

添加此临时代码并运行购买它。

private fun testConsumePurchase(purchase: Purchase) {
    val params = ConsumeParams.newBuilder()
        .setPurchaseToken(purchase.purchaseToken)
        .build()
    billingClient.consumeAsync(params) { _, _ ->
        Timber.w("Consumed!")
    }
}

之后,删除代码并照常继续测试。您将不再拥有该 SKU,您将被解锁,您可以在您的主测试账户上再次购买。记得下次在退款时勾选“删除授权”复选框:-)

我遇到了同样的问题,当我去退还测试产品但忘记检查时 'Remove Entitlement.'

我所做的解决方法是在 Google Play 中创建一个新产品/产品 ID,然后禁用旧的。这让我可以再次进行测试购买,但这次我确保在按下退款按钮之前检查 'Remove Entitlement'。

这很愚蠢Google Play 不允许我们在 发出退款后删除权利。特别是自从取消权利以来,它是选择加入的。希望以后...

在 Flutter 中你可以使用

import 'package:in_app_purchase_android/billing_client_wrappers.dart';

BillingClient billingClient = BillingClient((wr){});
billingClient.consumeAsync('the_long_purchase_token');

您可以在 billingClient.queryPurchaseHistory 或您的 Google Play 开发控制台 - 订单管理 - 订单详情 - 复制购买令牌中获得购买令牌。