How to handle the status 21100-21199 returns while validating the iOS receipt

Viewed 2879

Apple recently updated their iOS receipt validating service (https://developer.apple.com/news/?id=07182017a), which added the 21100-21199 Internal data access error. But there's no more details on how to handle this error.

Does anybody knows how to handle this while the client met this error?

2 Answers

Status codes 21100-21199 are various internal data access errors.

one more thing:

Possible Values
21000
The request to the App Store was not made using the HTTP POST request method.

21001
This status code is no longer sent by the App Store.

21002
The data in the receipt-data property was malformed or missing.

21003
The receipt could not be authenticated.

21004
The shared secret you provided does not match the shared secret on file for your account.

21005
The receipt server is not currently available.

21006
This receipt is valid but the subscription has expired. When this status code is returned to your server, the receipt data is also decoded and returned as part of the response. Only returned for iOS 6-style transaction receipts for auto-renewable subscriptions.

21007
This receipt is from the test environment, but it was sent to the production environment for verification.

21008
This receipt is from the production environment, but it was sent to the test environment for verification.

21009
Internal data access error. Try again later.

21010
The user account cannot be found or has been deleted.


Discussion
This field is returned in the JSON response, responseBody.
The value for status is 0 if the receipt is valid, or a status code if there is an error. The status code reflects the status of the app receipt as a whole. For example, if you send a valid app receipt that contains an expired subscription, the response is 0 because the receipt is valid.

Status codes 21100-21199 are various internal data access errors.

from: status - App Store Receipts | Apple Developer Documentation

Related