Troubleshooting

Troubleshooting the most common errors while setting up the in-app purchases and Qonversion SDK

Common Errors

Project Config Error: Active store not found

There are no active stores in the settings of your project.

1978

To fix the error, do the following:

  1. Open the project settings and select the Stores tab.
  2. Activate and set up the required store.

Invalid access token received

Make sure that you set the correct Project Key to the Qonversion Configuration Builder.

Invalid Store Credentials Error

iOS

Please make sure to provide the correct Shared Secret in the Qonversion Dashboard.

Android

  1. Check that your service account registered in the Google Play Console has the necessary account permissions for Qonversion:
    • View financial data
    • Manage orders and subscriptions
  2. Open the In-app products or Subscription tab, respectively, in the Google Play Console and make some updates. For example, edit the product description and save it. It will update Google’s cache.

Product not found error

Here are the most frequent reasons for receiving a product not found error.

iOS

  1. Your in-app purchases are not configured correctly on the App Store Connect. Navigate to the App Store Connect, select your app, click Manage under the In-App Purchases title on the left menu. Check the value in the Status column. You should see Ready to submit or Ready for sale status for correctly configured purchase.
  2. You are trying to buy a product with a wrong identifier, or you have not set the product identifiers on Qonversion Product Center.
  3. You are trying to buy a product before calling Qonversion's launch() method.
  4. Apple StoreKit returns invalidProductIdentifiers and empty products response.

Android

  1. You are trying to buy a product with a wrong Qonversion Product ID or you have not set the product identifiers in the Qonversion Product Center dashboard.
  2. You are trying to buy a product before calling Qonversion's launch() method.
  3. You are trying to buy a product with a wrong Google Play Store ID configured on the Qonversion Product Center dashboard.

Missing permissions after purchase

In case you are receiving an empty or not expected permission data:

  1. Ensure that products and permissions are configured correctly in the Qonversion Product Center. Check if the purchased product is linked to the permission.
  2. iOS Only
    Make sure you are not using a .storekit file. Products from the .storekit file are available only on your local phone or simulator. They are not available on the App Store Connect and can’t be validated.
  3. Android Only
    If in-app products are created before granting users access or linking Google Cloud Project to the service account, it may cause problems with the receipt validation using Google Play Developer API. Google Play Developer API can return the following error "The current user has insufficient permissions to perform the requested operation."
    When encountering this issue, open the In-app products or Subscription tab respectively on the Google Play Console and make some updates. For example, edit the product description and save it.

iOS only

Invalid store product identifiers

Apple StoreKit returns invalidProductIdentifiers and empty products response.
In this case, you will see this error in the log:
❌ Invalid store products identifiers: ("some_product_identifier", "some_other_product_identifier")
There are few reasons when this error can occur:

  1. Your in-app purchases are not configured correctly on the App Store Connect. Check the first point of this section.
  2. Your app bundle ID does not match the bundle ID from App Store Connect where purchases were created.
  3. You are using .storekit file which is configured with other IDs than you are trying to use.

Receipt validation error

Here are the most frequent reasons for SDK QNAPIErrorReceiptValidation error:

  • Provided shared secret can’t be used for validation. Please, make sure the shared secret you set in the Qonversion's settings dashboard is correct.
  • The receipt is corrupted.
  • The receipt was not found on the Apple server.
  • Apple Receipt Validation service is temporarily unavailable.

Android only

SkuDetails error

Here are the most frequent reasons for the SkuDetails error.

  1. Your in-app products are not configured correctly in Google Play Console. Once you have created a product, it has an Inactive status. You have to activate the product to purchase it. For more details, see our Android In-App Products Setup guide.
  2. Your app has an application ID different from the original APK uploaded to Google Play Console. An applicationIdSuffix for the debug buildType in the build.gradle file may also cause an error. When you use applicationIdSuffix you actually change your applicationId. As a result, Google Play Store treats your app as a completely different app.
  3. It could be a problem on the Google side, so we recommend updating the in-app purchase information in the Google Play Console. You can update the in-app purchase description and save it.

Billing Unavailable error

The Billing service is unavailable on the device because it is not connected to any Google account at the moment. Here are the possible reasons:

  1. You are testing on an emulator. Please make sure that the emulator has the Play Store installed.
  2. You are not logged into a test device with a google account.

For more details see Android test devices.

Product Unavailable error: The item you requested is not available for purchase

Please make sure that you checked the solutions below:

  1. The app's publish mode on the Google Play Console is Published. It should not be Draft.
  2. The uploaded App Bundle or APK file matches the one you are testing, including the following parameters: versionCode, versionName, applicationId, and keystore signature.
  3. You are not using your developer google account while testing purchases.
  4. You have created a test account in the developer console.
  5. You have configured the test account as follows:
  • You are signed in on your device with your test account.
  • For closed alpha/beta testing, you added your test account to the selected testers group. You have been approved to become a tester and accepted participation in the internal app testing via an invite link.
  1. Clear the cache data of the Google Play App. If the error persists, then log out & log in to your Google account on the device.

Purchase Invalid: Proxy of the BillingClient DEVELOPER_ERROR

Check the following steps to resolve this error:

  • Ensure that the uploaded App Bundle or APK file on the Google Play Console matches the one you are testing, including the following parameters: versionCode, version name, applicationId, and keystore signature.
  • Make sure that you are not using your developer google account while testing purchases.
  • Clear the cache data of the Google Play App. If the error persists, then log out & log in to your Google account on the device.

You can check the details on Developer_Error in Google developer documentation here.

Missing internet permission error

In case you are receiving the following error:
java.lang.SecurityException: Permission denied (missing INTERNET permission?)
You should add the following string to your app AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />

Changes on Google Play Console have not applied to your in-app product

In-app product details are received from the Google Billing Client. Here are examples of in-app product details:

  • name and description;
  • price;
  • subscription options (free trial, introductory price, grace period, option to resubscribe).

In case you don't see the changes applied, please try to clear the Google Play Store cache on your test device.

740

The purchase token does not match the package name

  • Ensure that you've inserted your package name correctly in the "Stores" section at the Qonversion settings tab. You can find applicationID in your app-level build.gradle file.