I'm having a trouble with testing my in-app billing.
(using Google Play In-app Billing Version 3 API)
Problem:
Refunded in-app purchases are still present in the purchase list, which is provided by BillingClient.queryPurchases()
.
When I tried refunding purchases in January, refunded items were gone from the purchase list.
What I did:
BillingClient.queryPurchases()
provides in my app.Minimal check code:
private val client: BillingClient // provided
fun check() {
// client.startConnection() already completed here
client.queryPurchases(BillingClient.SkuType.INAPP)
.run {
purchasesList
.map { it.originalJson }
.forEach { Log.d("billing", "json = $it") }
}
}
What I want to do:
I want to cancel all my test purchases.
Does anyone have any suggestions? Thank you in advance.
If your canceling doesn't remove your purchases from the query result you can consume them. They will then not be available anymore, when you make a new query and can be purchased again.
int response = client.consumePurchase(3, packageName, purchaseToken);
Managed in-app products are consumable, but subscriptions are not.
Source: developer.android.com