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

Viewed 849

Am testing in-app purchase in my app, i made a test order then while refund it I forgot to check on remove Entitlement box, now am stuck with this in-app purchase

I contact play console support in 11 Aug and they always reply ("we are investigating the issue")

How to remove the Entitlement ?

5 Answers

There is a solution, from your app: consume the product.

Add this temporary code and run it for your purchase.

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

After this, remove the code and continue testing as usual. You will not own the SKU anymore and you will be unblocked, you can buy it again on your main test account. Remember next time to check the "Remove Entitlement" box with your refund :-)

I Contacted Play console support, the respond is it will be added in the future

So as a question answer is: NO you can't remove entitlement after refunding

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.

After a refund, you should be able to make another purchase. Just clear your app data, and purchase again.

I experienced this same problem, when I went to refund a test product but forgot to check 'Remove Entitlement.'

What I did as a workaround was simply made a new product / product ID within Google Play, and then disabled the old one. This allowed me to make the test purchase again, but this time I made sure to check 'Remove Entitlement' before pressing the Refund button.

It's silly Google Play doesn't allow us to remove entitlement after issuing a refund. Especially since entitlement removal it's opt-in. Hopefully in the future...

In Flutter you can use

import 'package:in_app_purchase_android/billing_client_wrappers.dart';

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

Purchase token you can get in billingClient.queryPurchaseHistory or in your Google Play dev console - Order Management - Order Details - Copy Purchase Token.

Related