App Store Receipt Validation
Paste your receipt to validate it with the App Store. Add the app-specific shared secret below if the receipt contains subscriptions. The tool uses verifyReceipt under the hood to help you quickly decode and debug.
Provide the information above
Receipt Validation Error Codes
Frequently Asked Questions
Why should I use this?
Because it's Friday after 5pm, the rest of the company is already heading out for a drink, and you're still at your desk trying to figure out why Darren in QA's purchase didn't work so that you can submit your build to Apple. All you have to work with is this giant base64 blob. You go diving into the man page for 'curl' to figure out how to set a body from a file, because the blob is too big to paste on the command line. Meanwhile, the marketing and content teams are already cruising into the weekend on a land yacht made of IPAs, and here you are, desperate, tired, and looking for a solution. Behold: your ticket to freedom.
How does it work?
The receipt is sent to a proxy that relays it to Apple.
Is it safe?
Receipts are pretty inert. Even with the shared secret, the only thing you can do with a receipt is query its status. You can't cancel or change a purchase with the receipt.
Are you storing any information?
Nope. We proxy, return the response, and that is it. The source code for the proxy server is here.
Where can I learn more about App Store receipts?
We wrote a deep dive into how App Store receipt validation and StoreKit on our blog.