iOS SDK Troubleshooting
Use this reference to resolve iOS SDK errors. Errors marked with * require explicit handling in your app. For general error-handling guidance, see Handle SDK Errors in the Best Practices guide.
App Store Errors
| Error Code | Description | Resolution |
|---|---|---|
appStorePaymentCancelled* | The user cancelled the payment request. | Allow the user to retry the purchase or restore flow. |
appStorePaymentPending | Payment is pending additional approval. | initiatePurchase |
appStoreUnknown | An unknown App Store error occurred. | initiatePurchase, restorePurchase |
appStoreClientInvalid | Client is not allowed to perform the action. | initiatePurchase, restorePurchase |
appStorePaymentInvalid | Payment parameters are invalid. | initiatePurchase, restorePurchase |
appStorePaymentNotAllowed | User is not allowed to authorise payments. | initiatePurchase, restorePurchase |
appStoreProductNotAvailable | Product is not available in store. | initiatePurchase, restorePurchase |
appStoreCloudServicePermissionDenied | User has denied cloud service permissions. | initiatePurchase, restorePurchase |
appStoreCloudServiceNetworkConnectionFailed | Device could not connect to network. | initiatePurchase, restorePurchase |
appStoreCloudServiceRevoked | Cloud service permission was revoked. | initiatePurchase, restorePurchase |
appStorePrivacyAcknowledgementRequired | Apple Music privacy acknowledgement is pending. | initiatePurchase, restorePurchase |
appStoreUnauthorizedRequestData | App is using a property without entitlement. | initiatePurchase, restorePurchase |
appStoreInvalidOfferIdentifier | Offer identifier is invalid. | initiatePurchase, restorePurchase |
appStoreInvalidOfferPrice | Offer price is no longer valid. | initiatePurchase, restorePurchase |
appStoreInvalidSignature | Offer signature is invalid. | initiatePurchase, restorePurchase |
appStoreMissingOfferParams | Offer parameters are missing. | initiatePurchase, restorePurchase |
appStoreTransactionUnverified | Transaction could not be verified. | initiatePurchase, restorePurchase |
Zoho Billing Server Errors
| Error Code | Description | Resolution |
|---|---|---|
zsServerUnknown | Unknown error on Zoho Billing server. | Show the error and prompt the user to contact support with ZSErrorCode details. |
planInactiveInZS | Plan is inactive in Zoho Billing. | Activate the plan in Zoho Billing before allowing purchases. |
purchaseAlreadyProcessed* | Purchase is already synced to Zoho Billing. | Use your backend to verify the active subscription and grant access accordingly. |
invalidAPIKey | API key is invalid or revoked. | Update your app with a valid API key.(Critical) |
noValidPurchasesFound | No valid purchases found in receipt. | Ask the user to retry or restore a valid purchase. |
appStoreConnectivityError | Zoho Billing could not connect to App Store server. | Ask the user to retry after some time. |
SDK Errors
| Error Code | Description | Resolution |
|---|---|---|
receiptNotAvailable | In-app purchase receipt is unavailable. | Retry the purchase flow or restore a valid receipt before granting access. |
configurationMissing | SDK initialisation configuration is incomplete. | Initialise the SDK correctly before calling other methods. |
noValidPurchasesFound | No active purchases found. | Show a user-friendly message and ask the user to restore a valid purchase or contact support. |
For non-critical errors, show a user-friendly message and prompt users to contact your support team with the ZSErrorCode details (code and description).