退款时,Android 应用内计费未标记为撤销

6 android google-play google-play-services

首先,我的情况是试购。不是真正的购买。

我制作了一个用于应用内计费的测试应用。并添加了一个用于测试的 Google ID。

我购买的商品是管理商品(非消耗品)。购买工作正常。但是我有退款问题。

在此处输入图片说明

如果在 Google Play Console 的退款对话框中标记撤销复选框,则 Google 会正确地从用户中删除该项目。订单和产品 ID 不会出现在用户的购买信息中。它没有问题。

但是,如果不标记撤销复选框,即使钱已退还,该项目仍保留在用户中。即使清除 Google Play 缓存和用户数据,重新登录,重新启动,它也不会删除。

当然,您可以说退款时要小心。但是,如果发生错误忘记标记怎么办?我在退款订单详细信息页面中找不到任何撤销UI。

编辑:Orders: refund请参阅revoke参数说明。

小智 5

您必须通过使用服务器端或应用程序代码将购买标记为已使用来取消使用。您无法再将其从 Play 管理中心中删除。

在https://developer.android.com/google/play/billing/billing_onetime查找文档

ConsumeResponseListener listener = new ConsumeResponseListener() {
    @Override
    public void onConsumeResponse(@BillingResponse int responseCode, String outToken) {
            if (responseCode != BillingResponse.OK) {
                // This user has got a refund, remove the feature here.
            }
    }
};
mBillingClient.consumeAsync(purchaseToken, listener);
Run Code Online (Sandbox Code Playgroud)