SDK errors
RevenueCat SDK error codes, explained
Every error the RevenueCat SDKs return, by code, with what causes it and how to fix it. The codes are the same whether the SDK talks to RevenueCat or to RevenueDot, because RevenueDot answers the same API.
| Code | iOS | Android | What it means |
|---|---|---|---|
| 0 | unknownError | UnknownError | Unknown error |
| 1 | purchaseCancelledError | PurchaseCancelledError | Purchase cancelled |
| 2 | storeProblemError | StoreProblemError | Store problem |
| 3 | purchaseNotAllowedError | PurchaseNotAllowedError | Purchase not allowed |
| 4 | purchaseInvalidError | PurchaseInvalidError | Purchase invalid |
| 5 | productNotAvailableForPurchaseError | ProductNotAvailableForPurchaseError | Product not available for purchase |
| 6 | productAlreadyPurchasedError | ProductAlreadyPurchasedError | Product already purchased |
| 7 | receiptAlreadyInUseError | ReceiptAlreadyInUseError | Receipt already in use |
| 8 | invalidReceiptError | InvalidReceiptError | Invalid receipt |
| 9 | missingReceiptFileError | MissingReceiptFileError | Missing receipt file |
| 10 | networkError | NetworkError | Network error |
| 11 | invalidCredentialsError | InvalidCredentialsError | Invalid credentials |
| 12 | unexpectedBackendResponseError | UnexpectedBackendResponseError | Unexpected backend response |
| 13 | receiptInUseByOtherSubscriberError | — | Receipt in use by another subscriber |
| 14 | invalidAppUserIdError | InvalidAppUserIdError | Invalid app user ID |
| 15 | operationAlreadyInProgressForProductError | OperationAlreadyInProgressError | Operation already in progress |
| 16 | unknownBackendError | UnknownBackendError | Unknown backend error |
| 17 | invalidAppleSubscriptionKeyError | InvalidAppleSubscriptionKeyError | Invalid Apple subscription key |
| 18 | ineligibleError | IneligibleError | Ineligible for the offer |
| 19 | insufficientPermissionsError | InsufficientPermissionsError | Insufficient permissions |
| 20 | paymentPendingError | PaymentPendingError | Payment pending |
| 21 | invalidSubscriberAttributesError | InvalidSubscriberAttributesError | Invalid subscriber attributes |
| 22 | logOutAnonymousUserError | LogOutWithAnonymousUserError | Log out with an anonymous user |
| 23 | configurationError | ConfigurationError | Configuration error |
| 24 | unsupportedError | UnsupportedError | Unsupported operation |
| 25 | emptySubscriberAttributes | EmptySubscriberAttributesError | Empty subscriber attributes |
| 26 | productDiscountMissingIdentifierError | — | Product discount missing identifier |
| 28 | productDiscountMissingSubscriptionGroupIdentifierError | — | Missing subscription group ID |
| 29 | customerInfoError | CustomerInfoError | Customer info error |
| 30 | systemInfoError | — | System info error |
| 31 | beginRefundRequestError | — | Begin refund request error |
| 32 | productRequestTimedOut | — | Product request timed out |
| 33 | apiEndpointBlockedError | — | API endpoint blocked |
| 34 | invalidPromotionalOfferError | — | Invalid promotional offer |
| 35 | offlineConnectionError | — | Offline connection |
| 36 | featureNotAvailableInCustomEntitlementsComputationMode | — | Not available in custom entitlements mode |
| 37 | signatureVerificationFailed | SignatureVerificationError | Signature verification failed |
| 38 | featureNotSupportedWithStoreKit1 | — | Feature not supported with StoreKit 1 |
| 39 | invalidWebPurchaseToken | — | Invalid web purchase token |
| 40 | purchaseBelongsToOtherUser | — | Purchase belongs to another user |
| 41 | expiredWebPurchaseToken | — | Expired web purchase token |
| 42 | testStoreSimulatedPurchaseError | TestStoreSimulatedPurchaseError | Test Store simulated purchase error |
Get started
Run subscriptions without the revenue share.
Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue, or move an existing RevenueCat app with one line of code.
Already have an account? Sign in · Prefer your own servers? Self-host free