My in-app purchase products aren't loading
If your in-app purchase products are not returned by the getProductsForSale or getProducts method of the IAPHUB SDK, it is most likely because App Store Connect or Google Play aren't configured correctly. When the configuration is incomplete, the stores simply do not return any products to your app.
But don't worry, we'll walk through the different possibilities that could cause this issue.
If your products are returned properly but you're having issues with the buy method, this is not the right guide. The issue is likely related to the processing of the purchase and is probably due to a configuration issue on IAPHUB. Check the IAPHUB dashboard for any errors — the smart assistant will display errors detected during a purchase.
If you're using Adalo, you can skip directly to Check your Google Play Console / App Store Connect account is complete.
Check the billing status
You can diagnose the issue by calling the getBillingStatus method. This method returns useful information about the current state of the billing system.
Check for errors first:
- If the
errorobject has a code ofbilling_unavailable, it means the billing system is not available on the device. This can happen if the user is not logged into the App Store or Google Play.- If the
subcodeisplay_store_outdated(Android only), the Google Play Store app is outdated. Instruct the user to open the Play Store app, navigate to "Settings," select "About," and click on "Update Play Store."
- If the
Check filtered products:
If there are no errors, check the filteredProductIds array. Any product not returned by the stores will appear in this array.
If your products are in this array, it means the stores are not returning them to your app. Follow the steps below to troubleshoot the issue.
Check your Google Play Console / App Store Connect account is complete
This is the most common issue when products aren't being returned. You must have an active and fully configured developer account.
App Store Connect (iOS)
Your App Store Connect account must be fully set up with payment information:
- Go to App Store Connect and sign in.
- Navigate to Agreements, Tax, and Banking (or Business in the sidebar).
- Make sure to sign the Paid Applications Agreement - this is required even for free apps with in-app purchases.
- Set up your banking information (where Apple will deposit your earnings).
- Complete your tax forms for all applicable regions.
- Verify both agreements (Free Apps & Paid Apps) show status as Active.
If your Paid Applications Agreement is not signed or your banking/tax information is incomplete, Apple will not return any in-app purchase products to your app, even in sandbox mode.
Google Play Console (Android)
Your Google Play Console account must have a payment profile:
- Go to the Google Play Console.
- Navigate to Setup → Payments profile.
- Create a payment profile if you haven't already.
- Make sure your developer account subscription is active (it must be renewed every year).
Check IAPHUB is configured correctly
There can be only a few issues causing IAPHUB to not return your products, please make sure:
- You have enabled (in the settings of the IAPHUB dashboard) the iOS platform (if you have an iOS app) and the Android platform (if you have an Android app).
- You have created your product on the Products page of the IAPHUB dashboard.
- Your product has an iOS product ID (if you have an iOS app) and an Android product ID (if you have an Android app).
- You've published a listing with the products you want to sell and all the previous listings are offline (grey bubble icon).
If everything on this list is correct, you most likely have an issue with App Store Connect/Google Play.
IAPHUB is relying on App Store Connect/Google Play to fetch the products details, any product that isn't returned by App Store Connect/Google Play will be filtered.
Check App Store Connect/Google Play is configured correctly
Check the products are configured correctly
First let's double check your products are configured correctly:
- You've created your product on the Products page (of the IAPHUB dashboard) and on Google Play Console & App Store connect.
- The product ID is correct (it is the same on the IAPHUB dashboard, the Google Play Console & App Store Connect).
- On the Google Play Console, make sure you're using the product ID, not the base plan ID.
- The product type is correct.
- On the Google Play Console, a auto-renewable subscription must be created in Subscriptions, a consumable or non-renewing subscription in In-app products.
- On App Store Connect, a auto-renewable subscription must be created in Subscriptions, a consumable in In-app purchases, a non-renewing subscription in Non-Renewing Subscriptions
- The product status is valid.
- It should be displayed as Active on the Google Play Console.
- It should be displayed as Ready to submit or Approved on App Store Connect (no need to submit it yet).
- The product is available in your country.
Check if it is a caching issue
It is common to see caching issues when a product has been created recently, it can take a while for the product to be available right after you create it on Google Play/App Store Connect.
How long to wait:
- Google Play: Products can take up to 24 hours to become available, though it's usually faster.
- App Store: Products typically become available within a few minutes to a few hours.
Speed up on Android by clearing the cache of the Google Play App:
Go to Settings → Apps → Google Play Store → Storage & cache and click on Clear cache.
The navigation might be a little different depending on your Android version but you should be able to find it.
Speed up on iOS by reinstalling the app to clear locally cached data.
Check if it is an issue with your phone or the configuration of your project
Check your project configuration is correct, a few things you should check:
- Check your bundle ID match the one of the app you've created on Google Play/App Store Connect.
- For iOS, check you've enabled the In-App purchases capability in Xcode.
Also make sure your phone has no issue:
- You must use a real device (no emulator).
- You must be logged in on the Google Play Store & App Store.
- On iOS make you're logged to your sandbox account. (Not needed if you're using TestFlight)
- On Android make sure you're logged to the account you've configured for license testing.
- You must check your Play Store app isn't outdated.
To update, open the Play Store app and go to "Settings", select "About" and click on "Update Play Store".
Check your sandbox environment is configured correctly
Make sure you've followed all the steps we listed on our guides to configure your sandbox environment for iOS and Android.
Still having issues?
If you've verified everything above and your products are still not being returned:
- Check the IAPHUB logs in your dashboard for any error messages.
- Test with a different device to rule out device-specific issues.
- Contact support through the IAPHUB dashboard with details about your setup and the steps you've already tried.