State of in-app subscriptions report is here. Download now

Apple receipt checker

Easy tool for debugging in-app subscriptions. Paste Base64 receipt and app-specific shared secret in the corresponding field and get the JSON receipt data.

Data will be sent securely
and remain private
Check the information below

iOS receipt status

The code has been copied successfully!
Fill the form above for the result.
Error

Apple receipt validation status codes

Codes
Descriptions
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 the service experienced a temporary issue.
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 was temporarily unable to provide the receipt.
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.
21010
The user account cannot be found or has been deleted.
21100 – 21199
Internal data access errors.

FAQs

The Apple receipt checker helps to verify the authenticity of in-app purchase and subscription receipts, protecting against fraud and aiding troubleshooting. It is useful for both consumers and developers to ensure compliance with Apple’s policies.

Yes, it’s absolutely free.

Simply paste the Base64 receipt from the transaction and app-specific shared secret in the corresponding fields of the checker and you’ll get the JSON receipt data.

We do not store any input or output information that you use on the Receipt Checker page.

Yes, the information you provide is first sent to the proxy server and then to Apple, which makes the process safe.