What does configurationError (code 23) mean in the purchases SDK?
The purchases SDK raises configurationError (code 23) when its setup does not match the store or the server.
Quick facts#
| Error | ErrorCode.configurationError (iOS), PurchasesErrorCode.ConfigurationError (Android), code 23 |
| Where | Purchases SDK (iOS, Android and the hybrid SDKs built on them) |
| What the vendor says | There is an issue with your configuration. Check the underlying error for more details. |
Cause#
- iOS: none of the products in your offerings could be fetched from App Store Connect, or from the StoreKit configuration file when one is in use.
- An offering exists but has no products for this app's store, or the API key belongs to a store with no products registered.
- The backend answered 7000 (invalid platform), 7255 (could not create alias) or 8077; Android also maps 7230 (invalid package name) here.
Fix#
- Compare product IDs: the ID in the offering must equal the store's product ID exactly, and each product must be approved and ready to sell.
- Use the iOS app's key in the iOS build and the Android app's key in the Android build.
- Mark an offering as current and add this app's products to its packages.
- Read the SDK's message with debug logs; it says which case applies.
Example#
Swift
// The purchases SDK throws `ErrorCode` values; match the one you handle and let the rest fall through.
func handle(_ error: Error) {
guard let code = error as? ErrorCode else {
print("Not a purchases SDK error: \(error)")
return
}
switch code {
case .configurationError:
// A setup problem: do not retry. Alert yourself and show a neutral message.
print("The SDK configuration does not match the store")
default:
print("Other purchases error: \(code.description)")
}
}Compile-checked: npm run check:snippets type-checks this snippet with swiftc together with the ErrorCode.swift file of the RevenueDot purchases-ios fork (checked 2026-10-03).
How the RevenueDot SDK reports it#
Deep dive: revenuedot.app/errors/configuration-error. See common problems.
Related#
- What does invalidCredentialsError (code 11) mean in the purchases SDK?
- What does productNotAvailableForPurchaseError (code 5) mean in the purchases SDK?
- What does Play Billing DEVELOPER_ERROR (5) mean?
- What RevenueDot's API errors mean (server codes)
Source#
- RevenueDot purchases-ios: ErrorCode.swift (the iOS ErrorCode enum)
- RevenueDot purchases-android: PurchasesErrorCode.kt (the Android enum)
- RevenueDot purchases-ios: BackendErrorCode.swift (backend code mapping)
- RevenueDot purchases-android: common/errors.kt (backend code mapping)
Checked: 2026-10-03