If you're still testing in sandbox, it's most likely a configuration issue that's preventing the products from being retrieved from Apple/Google. Your product identifiers are set in RevenueCat, but the actual products that your users purchase can only be retrieved directly from Apple/Google. Because this communication happens between your app and the stores, RevenueCat doesn't have any visibility into the API requests, however there are some common requirements to go through.
- The product identifier set in RevenueCat matches exactly with the store
- You're testing on a physical device and not a simulator
- The bundle Id [iOS] or package name [Android] are set correctly in your app
- Products are in the in the 'Ready To Submit' state [iOS]
- You've signed your 'Paid Applications Agreement' [iOS]
- Your app is published on a closed track and you've added a tester [Android]
If you have both development and production environments for your app, be sure to double check you are using the correct Ids.
If your app is live and everything was working during testing, you should check that:
- All products are in the 'Approved' state in App Store Connect [iOS]
- Products have been approved for 24hrs+. Due to app store propagation time, it can take 24hrs+ for new products to become available after being approved - this is the same for new apps and adding new products to existing apps.
Changing the reference name in App Store Connect can also cause products to not fetch on iOS. Create a new product with a different identifier, fill out any missing metadata, and attempt to fetch products again.