Search code examples
androidin-app-billingandroid-billingplay-billing-library

How to make acknowledge purchase work Android IAB


I am trying to acknowledge my purchases on android but I am getting response code 3 every time with the message 'Google Play In-app Billing API version is less than 9'. The purchases are arriving at this functioning with all of the details required, token, etc. But still, it's not working.

I am using the latest version of the IAB library in my app:

private fun acknowledgeNonConsumablePurchasesAsync(nonConsumables: List<Purchase>) {
        nonConsumables.forEach { purchase ->
            val params = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase
                .purchaseToken).build()
            playStoreBillingClient.acknowledgePurchase(params) { billingResult ->
                when (billingResult.responseCode) {
                    BillingClient.BillingResponseCode.OK -> {
                        disburseNonConsumableEntitlement(purchase)
                    }
                    else -> Log.d(LOG_TAG, "acknowledgeNonConsumablePurchasesAsync response is ${billingResult.debugMessage}")
                }
            }

        }
    }

Solution

  • Check if there was a problem with the Google Play Store cache.

    Try to clean it through the device installed apps, just to discard that is not a problem with the store.

    If you find is a problem with the Google Play Store cache, and the problem happens again, then I would recommend that you file a bug in the Issue Tracker