Short answer
The store returned none of the products RevenueCat asked for. Check, in order: the store agreements and banking are complete, the product IDs and bundle ID or package name match exactly, the SDK uses the API key for this platform, and the products are ready to load where you test: a physical device, a sandbox account on iOS, and a closed track on Google Play.
Why the store returns nothing, and the fix
01
Agreements, banking or credentials aren’t done
“Verify that all agreements (including the Paid Applications Agreement) in App Store Connect > Business have been signed and banking details have been completed in App Store Connect.” RevenueCat, Troubleshooting empty products
On iOS, every agreement in App Store Connect, including the Paid Applications Agreement, must be signed with banking complete, and RevenueCat says this can take up to 24 hours to apply. Google Play Console has its own agreements and banking. RevenueCat also needs your App-Specific Shared Secret and In-App Purchase Key for iOS.
02
IDs don’t match exactly
“Confirm the product identifiers in the RevenueCat dashboard exactly match the product identifiers in your store.” RevenueCat, Troubleshooting empty products
The product identifiers in RevenueCat must match the store’s. So must the Bundle ID on iOS and the package name on Android, and RevenueCat notes both are case-sensitive. With separate environments, check each one.
03
The SDK uses the other platform’s API key
“For example, if you use a Google key for iOS, the wrong product configuration will be retrieved, and products will not be able to be fetched.” RevenueCat, Troubleshooting empty products
Each platform has its own RevenueCat API key. Configure the iOS build with the Apple key and the Android build with the Google key.
04
The products can’t load where you’re testing
“Google Play requires all apps to be published on a closed track before products can be fetched, even when just testing.” RevenueCat, Troubleshooting empty products
On Google Play the app must be on a closed track, with your account added as a licensed tester. On iOS, each product needs to be Approved or have all its metadata, and testing works on a physical device signed in to a sandbox Apple Account, with no StoreKit Configuration file in the Xcode scheme. New products can take up to 24 hours to appear after release.
Checked against the vendor’s docs on : RevenueCat docs: Troubleshooting empty products and offerings.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
Related: App Store Guideline 3.1.1 rejection · App Store Guideline 3.1.2 subscriptions