Skip to main content
Answer

Is it possible to use RevenueCat Test Store API key (`test_` prefix) with StoreKit Configuration files?

  • December 2, 2025
  • 1 reply
  • 17 views

Forum|alt.badge.img

Error: RevenueCat SDK cannot fetch products from StoreKit Configuration file, even though the file is properly configured and set in Xcode scheme.

 

Current Setup

- Platform: iOS (Flutter app)

- RevenueCat SDK: `purchases_flutter: ^8.11.0`

- API Key: Test Store API key (`test_###`)

- StoreKit Configuration: `Products.storekit` file exists with products `premium_monthly_1` and `premium_yearly_1`

- RevenueCat Configuration:

- Offering: `default`

- Products: `premium_monthly_1`, `premium_yearly_1`

- Entitlement: `premium`

- Package identifiers: `$rc_annual`, `$rc_monthly`

 

Error Message

ERROR: 🍎‼️ Error fetching offerings - The operation couldn't be completed. (RevenueCat.OfferingsManager.Error error 1.)

There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used).

Debug logs show:

DEBUG: ℹ️ No existing products cached, starting store products request for: ["premium_monthly_1", "premium_yearly_1"]

DEBUG: 😻 Store products request received response

DEBUG: ℹ️ Store products request finished

ERROR: 🍎‼️ Error fetching offerings

 

What We've Verified

✅ StoreKit Configuration file (`Products.storekit`) exists and is valid JSON

✅ Products in file match RevenueCat dashboard: `premium_monthly_1`, `premium_yearly_1`

✅ File is added to Xcode project (visible in Project Navigator)

✅ File is set in Xcode scheme: Product → Scheme → Edit Scheme → Run → Options → StoreKit Configuration = `Products.storekit`

✅ Running in Debug mode (not Release)

✅ CocoaPods dependencies are synced (`pod install` completed)

✅ Clean builds performed multiple times

✅ Test products exist in RevenueCat Test Store dashboard

StoreKit Configuration File

 

json

{

"identifier": "Products",

"products": [

{

"identifier": "premium_monthly_1",

"productID": "premium_monthly_1",

"type": "SUBSCRIPTION",

"displayPrice": "4.99",

"localizations": [{

"locale": "en_US",

"displayName": "ContentGenius Premium Monthly",

"description": "Monthly subscription to ContentGenius Premium"

}]

},

{

"identifier": "premium_yearly_1",

"productID": "premium_yearly_1",

"type": "SUBSCRIPTION",

"displayPrice": "49.99",

"localizations": [{

"locale": "en_US",

"displayName": "ContentGenius Premium Yearly",

"description": "Yearly subscription to ContentGenius Premium"

}]

}

],

"subscriptionGroups": [{

"id": "21482014",

"name": "Premium",

"subscriptions": ["premium_monthly_1", "premium_yearly_1"]

}]

}

 

 

Question

 

Is it possible to use RevenueCat Test Store API key (`test_` prefix) with StoreKit Configuration files?

 

The error suggests StoreKit is trying to fetch products but returning empty. We suspect:

1. Test Store API key might not work with StoreKit Configuration files

2. StoreKit Configuration might require iOS public API key (`appl_` prefix) instead

 

Should we:

- Use Test Store API key WITHOUT StoreKit Configuration (set to "None" in scheme)?

- OR use StoreKit Configuration WITH iOS public API key (`appl_`)?

 

Best answer by rick

Hi ​@thethela-faltein-c38720, happy to help here!

So to clear some things up here, when you use the Test Store API Key the SDK will use the Test Store products configured in the dashboard. It will not fetch products from StoreKit (StoreKit config file or App Store Connect). This is indeed based on the API key prefix (test_ vs appl_)

The logs you shared indicate that the SDK is still trying to fetch the products from StoreKit, I think this is because (as you mentioned) you’re using Flutter SDK version 8.11.0, but Test Store support for Flutter was added in SDK version 9.8.0, see https://www.revenuecat.com/docs/getting-started/configuring-sdk#testing-with-test-store. I would suggest updating the SDK, after which the SDK should start using your Test Store products from the dashboard.

As for deciding when to use the Test Store vs StoreKit configuration file, usually the Test Store is the easiest to work with during development. However If you’re trying to debug purchasing related functionality or if you want the product information to be as close to production as possible (localized product prices, offers, etc) I would go with the StoreKit Config file route. 

Hope this helps, please let me know in case you have any other questions.

Best,

Rick

1 reply

Forum|alt.badge.img
  • RevenueCat Staff
  • Answer
  • December 3, 2025

Hi ​@thethela-faltein-c38720, happy to help here!

So to clear some things up here, when you use the Test Store API Key the SDK will use the Test Store products configured in the dashboard. It will not fetch products from StoreKit (StoreKit config file or App Store Connect). This is indeed based on the API key prefix (test_ vs appl_)

The logs you shared indicate that the SDK is still trying to fetch the products from StoreKit, I think this is because (as you mentioned) you’re using Flutter SDK version 8.11.0, but Test Store support for Flutter was added in SDK version 9.8.0, see https://www.revenuecat.com/docs/getting-started/configuring-sdk#testing-with-test-store. I would suggest updating the SDK, after which the SDK should start using your Test Store products from the dashboard.

As for deciding when to use the Test Store vs StoreKit configuration file, usually the Test Store is the easiest to work with during development. However If you’re trying to debug purchasing related functionality or if you want the product information to be as close to production as possible (localized product prices, offers, etc) I would go with the StoreKit Config file route. 

Hope this helps, please let me know in case you have any other questions.

Best,

Rick