Errors
Successful responses return HTTP status 200.
Failed responses return HTTP status 400.
All error messages have the same base structure:
Structure | |
---|---|
Code | Error Number |
Error | Short Error Message |
Debug your application while testing to detect errors. Consider implementing error handling or displaying feedback to the user in case of errors. Please see below for a list of error codes that could occur during validation.
danger
Most importantly, do not reward users with in-app products if the validation response contains HTTP status 400 or an error object!
Request
Code | Error | Description | Solution |
---|---|---|---|
10000 | Invalid Request | Request contains missing or invalid parameters. | Check your request input. |
10001 | Invalid App ID | Requested App ID does not exist. | Check your request input. |
10002 | Malformed App Data | App contents in backend cannot be read. | Contact Support. |
10003 | Unsupported Store | Request contains invalid store value. | Check your request input. |
10004 | Invalid App ID Bundle | Requested bundle identifier does not match. | Check your request input. |
10010 | App Limit reached | Transaction Limit exceeded on FREE plan. | Upgrade or wait for quota reset. |
10011 | App Limit reached (Cache) | Transaction Limit exceeded on FREE plan in region cache. | Upgrade or wait for quota reset. |
10012 | App Data unreachable | Request to backend application failed. | Contact Support. |
App Store
Code | Error | Description | Solution |
---|---|---|---|
10100 | Missing Authentication Parameters | Authentication credentials missing. | Check your app setup. |
10101 | Invalid Auth Token | Authentication credentials invalid. | Check your app setup. |
10102 | Unexpected Response | App Store response returned an error or cannot be read. | See raw response or contact Support. |
10103 | Purchase cancelled | Purchase is flagged as cancelled. | Deny Purchase. |
10104 | Duplicate Transaction (consumed) | Product is already consumed but transaction was sent again. | Deny Purchase. |
10105 | Receipt validation failed | Generic failed response when unable to parse transaction data. There could be more details in the Error message. | Deny Purchase. |
10130 | Payment pending | App Store did not approve the transaction yet. | Do not finish transaction, try validating again later. |
10140 | Subscriptions not supported | Received subscription receipt but your plan does not support subscriptions. | Upgrade to paid plan. |
Webhook
Internal, do not use. Caused by server-server interaction only.
Code | Error | Description | Solution |
---|---|---|---|
10200 | Invalid Request (encoded) | Raw request contains missing or invalid parameters. | - |
10201 | Invalid Auth Token | Authentication credentials invalid. | - |
10202 | Invalid Request (decoded) | Parsed request contains missing or invalid parameters. | - |
10203 | Unsupported NotificationType | Received unhandled Notificationtype. | - |
10204 | Unexpected Response | App Store validation response cannot be read. | - |
10205 | Receipt validation failed | Generic failed response when unable to parse transaction data. | - |
10240 | Subscriptions not supported | Received subscription receipt but your plan does not support subscriptions. | - |
Transaction
Code | Error | Description | Solution |
---|---|---|---|
10300 | Duplicate Transaction | Consumable product purchase was already recorded. | Deny Purchase. |
10301 | Transaction transfer cooldown | Transaction was recently claimed by different user (User Behaviour = Transfer). | Instruct user or contact Support. |
10302 | Duplicate Transaction | Product purchase was already recorded (User Behaviour = Block). | Deny Purchase. |
10303 | User Limit reached | Transaction is already associated with maximum amount of user IDs (User Behaviour = Alias). | Instruct user or contact Support. |