Skip to main content
Check out our troubleshooting guide for quick solutions to common problems. If you went through this guide and you’re still having problems, reach out to us on GitHub or open an issue on the relevant SDK repository - iOS, Android, React Native, Flutter, Cordova, Capacitor, or Unity.

Update Qonversion SDK to the latest version

We recommend updating your Qonversion SDK to the latest version. It brings new features, improvements, and bug fixes for optimal performance. Refer to the updated Installing the SDKs documentation for step-by-step instructions on how to seamlessly integrate the latest SDK version into your app.

All stores

These errors are not specific to a single store and can occur on iOS, Android, or the web.
There are no active stores in the settings of your project. This is the QONErrorCodeProjectConfigError (32) / ProjectConfigError error.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.
Make sure that you set the correct Project Key to the Qonversion Configuration Builder. The project key is found in the project Settings; it is not the same as a store shared secret or service account key.
This is the QONErrorCodeInvalidStoreCredentials (33) / InvalidStoreCredentials error. Fix it per platform:iOS
  • Please make sure to provide the correct Shared Secret in the Qonversion Dashboard.
  • Please make sure to fill out the tax information and agreement for the paid apps section.
Android
  • Check that your service account registered in the Google Play Console has the necessary account entitlements for Qonversion: View financial data and Manage orders and subscriptions.
  • Make some updates in your product’s configuration in Google Play Console. For example, edit the product description and save it. It will update Google’s cache.
This is the QONErrorCodeProductNotFound (2) / ProductNotFound error. Here are the most frequent reasons for receiving a product not found error.All stores
  • You are trying to buy a product with the wrong Qonversion Product ID, or you have not set the product identifiers in the Qonversion dashboard.
  • You are trying to buy a product with the wrong Google Play Store ID + base plan ID or App Store Product ID configured on the Qonversion dashboard.
App Store only
  1. Products need to be in Ready to submit or Ready for sale status. How to navigate: App Store Connect, select your app, click Manage under the In-App Purchases title on the left menu.
  2. Your payment and tax agreements in Apple Developer Account should be filled in.
  3. Apple StoreKit returns invalidProductIdentifiers and an empty products response.
In case you are receiving empty or unexpected entitlement data:
  1. Ensure that products and entitlements are configured correctly in the Qonversion dashboard. Check if the purchased product is linked to the expected entitlement.
  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 unavailable on App Store Connect and can’t be validated.
  3. Android Only If in-app products are created before granting users access or enabling the required Google Cloud APIs for 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

These errors occur only on iOS / App Store Connect.
Apple StoreKit returns invalidProductIdentifiers and an 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 a few reasons why this error can occur:
  1. Your in-app purchases are not configured correctly on 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 a .storekit file which is configured with other IDs than you are trying to use.
  4. You have unfilled payment and tax agreements in your Developer Account.
  5. Unknown StoreKit issue. In some cases, StoreKit returns invalid store product identifiers without any visible reason. Update the product title in App Store Connect, wait about 15-30 min, and try to request products in the Qonversion SDK again.
Here are the most frequent reasons for the SDK QONErrorCodeReceiptValidationError (34):
  • Provided shared secret can’t be used for validation. Please make sure the shared secret you set in the Qonversion settings dashboard is correct.
  • The receipt is corrupted.
  • The receipt was not found on the Apple server.
  • Apple Receipt Validation service is temporarily unavailable.
  • In case you’re receiving such an error, make sure that you configured the App Store Bundle ID at the Store Settings tab correctly.
  • Use a device (not a simulator) when testing iOS purchases.
In most cases, it happens because of unfinished transactions. If this issue occurs many times in a row, the possible reason is that some transactions can’t be finished. Please ensure you didn’t delete some App Store products that were purchased on the current Sandbox account. Create a new sandbox account and test again.

Android only

These errors occur only on Android / Google Play.
Here are the most frequent reasons for the StoreDetails (or 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.
  4. In case you don’t see the changes applied, please try to clear the Google Play Store cache on your test device.
The Billing service is unavailable on the device because it is not connected to any Google account at the moment. This is the BillingUnavailable error. 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.
Ensure that you’ve inserted your package name correctly in the Store Settings tab. You can find applicationID in your app-level build.gradle file.
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.
  6. Clear the cache data of the Google Play App. If the error persists, then log out and log in to your Google account on the device.
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 and log in to your Google account on the device.
You can check the details on DEVELOPER_ERROR in the Google developer documentation here.
Check the following:
  1. Incorrect Pub/Sub topic format in Google Play Console. You must set the topic in this exact format: projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME.
  2. Missing IAM permission for Google’s RTDN publisher. Google’s RTDN system must have permission to publish to your topic. Run this:
    If not set, no events will be delivered, and no error will be shown.
  3. Pub/Sub topic exists in the wrong GCP project. Ensure your topic is in the same Google Cloud project that your Play Console uses. Check your active project:
    Google Play references topics by project ID, not number or display name.
  4. GCP billing is disabled or suspended. Even if Pub/Sub is free-tier, the project must have billing enabled. Go to https://console.cloud.google.com/billing and verify that your billing account is active and linked to the correct project.
  5. Domain restricted sharing organization policy. The issue can be with the “Domain restricted sharing” organization policy in Google Cloud. It might be automatically set to a strict rule. You need to set that to “Google Managed Default.”
  6. Topic not properly saved in Google Play Console. Sometimes saving the topic in Monetization setup silently fails. Steps:
    1. Go to Monetization > Monetization setup.
    2. Check the RTDN section.
    3. Ensure the topic is still present after saving.
    4. If not, re-enter and save again.
  7. No qualifying events triggered yet. RTDN only sends events for subscription purchases, renewals, cancellations, grace period changes, pauses, etc.
  8. App not published or package name mismatch. If the app is in draft, not yet released to internal testing, or has a different packageName than what’s configured in Google Play, RTDN will not activate. Push your app to internal or closed testing, and verify your packageName matches exactly.
  9. Domain Restricted Sharing policy is enabled. This policy is enabled by default; adding the domain associated with the user may not work. Remove this policy.
  10. No active Pub/Sub subscription or message retention. Pub/Sub by default drops messages if no subscription exists. You need to either create a subscription:
    Or enable message retention explicitly on the topic.
Why it happens: an issue with the Hilt library.Solution: add this to the Android manifest:
Read more: https://github.com/qonversion/android-sdk/issues/549

Next steps

Sandbox testing

Set up sandbox accounts and test devices for iOS and Android before going live.

Qonversion SDK error codes

Full reference of QONErrorCode values and their meaning across platforms.