Code
24
SDK error · code 24
What it means
unsupportedError (code 24) means the operation is not supported in the current mode or on this backend: UI preview mode, a feature that needs an option you did not enable, or on Android a backend reply of 7662 for a receipt the server cannot handle. Read the message, because it names the unsupported thing. Use a supported path, and do not grant access.
Code
24
iOS (Swift)
ErrorCode.unsupported
Android (Kotlin)
PurchasesErrorCode.Unsupported
Causes
iamEnabled (Purchases.swift).| Backend code | Meaning |
|---|---|
| 7662 | Android mapping: the product IDs are malformed or the receipt is not supported. RevenueDot uses it for receipts from store types it does not support. iOS has no mapping for it and reports unknownBackendError. |
Fix
The message or the underlying error says which operation is unsupported, and why.
UI preview mode, used for SwiftUI previews and similar, does not run purchases. Test the call in a real run.
If the message names a configuration option, turn it on in the configuration builder.
On Android, check that the API key belongs to a supported store app on the server. See the RevenueDot note below for 7662.
In your app
// Swift
do {
let result = try await Purchases.shared.purchase(package: package)
} catch let error as ErrorCode where error == .unsupportedError {
// handle unsupported operation
}
// Kotlin
if (error.code == PurchasesErrorCode.UnsupportedError) { /* ... */ } On RevenueDot: RevenueDot answers HTTP 400 with code 7662 for receipts from app types it does not support yet (RevenueCat Billing, Paddle and Roku apps), and when an Android SDK asks for Amazon receipt details with a key that is not an Amazon app's. On Android that arrives as this error. Supported stores are the App Store, Mac App Store, Google Play, Amazon Appstore, Stripe and the Test Store. See 4xx or 5xx on a receipt.
FAQ
RevenueDot answers 7662 when it does not support receipts for the app's store yet, for example a RevenueCat Billing, Paddle or Roku app. The Android SDK reports it as unsupportedError.
The SDK runs in UI preview mode there and refuses operations that need a real store. Run the app on a simulator or device to test the call.
In React Native, compare error.code with PURCHASES_ERROR_CODE.UNSUPPORTED_ERROR. In Flutter, convert the PlatformException with PurchasesErrorHelper.getErrorCode(e) and compare the result with PurchasesErrorCode.unsupportedError.
Get started
RevenueDot answers the same SDK calls with the same error codes. Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue.
Already have an account? Sign in · Prefer your own servers? Self-host free