---
title: App Store Receipts
framework: App Store Receipts
role: collection
role_heading: Web Service
platforms: [app store receipts 1.0+]
path: appstorereceipts
---

# App Store Receipts

Validate app and In-App Purchase receipts with the App Store.

## Overview

Overview important: The verifyReceipt endpoint is deprecated. To validate receipts on your server, follow the steps in Validating receipts on the device on your server. Your server can access the verifyReceipt endpoint to validate app and in-app transaction receipts. Submit a receipt to the App Store with your shared secret to receive a JSON response containing the app information and in-app purchase details in the fields that make up the receipt. Each field or combination of fields provides insight you can use to deliver service and content to the user, as you define. In-app transactions that your app doesn’t mark as finished using finishTransaction(_:) or finish() remain in the App Store receipt. Auto-renewable subscriptions, non-renewing subscriptions, and non-consumables remain in the receipt indefinitely, and appear in the customer transaction history when you call the Get Transaction History V1 endpoint. The responseBody.Latest_receipt_info object for auto-renewable subscriptions can grow over time because the renewal transactions stay in the receipt indefinitely. To optimize performance, the App Store may truncate receipts in the sandbox environment to remove old transactions. You can test validating receipts in the sandbox environment. For more information, see Testing Apple In-App Purchases with sandbox and Test in-app purchases. You can validate receipts from the App Store using server-side receipt validation or on-device validation. For more information about receipt validation options, see Choosing a receipt validation technique. note: Session 110404: Implement proactive in-app purchase restore.

## Topics

### Receipt data

- [App Store receipt data types](appstorereceipts/app-store-receipt-data-types.md)

### Local receipt validation

- [Validating receipts on the device](appstorereceipts/validating-receipts-on-the-device.md)

### Deprecated

- [verifyReceipt](appstorereceipts/verify-receipt.md)
- [requestBody](appstorereceipts/requestbody.md)
- [responseBody](appstorereceipts/responsebody.md)
- [error](appstorereceipts/error.md)
