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.

Apple receipt validation status codes

The request to the App Store was not made using the HTTP POST request method.
This status code is no longer sent by the App Store.
The data in the receipt-data property was malformed or the service experienced a temporary issue.
The receipt could not be authenticated.
The shared secret you provided does not match the shared secret on file for your account.
The receipt server was temporarily unable to provide the receipt.
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.
This receipt is from the test environment, but it was sent to the production environment for verification.
This receipt is from the production environment, but it was sent to the test environment for verification.
Internal data access error.
The user account cannot be found or has been deleted.
21100 – 21199
Internal data access errors.


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.