<!--
{
  "availability" : [
    "App Store Receipts: 1.0.0 - 1.7.0"
  ],
  "documentType" : "symbol",
  "framework" : "AppStoreReceipts",
  "identifier" : "/documentation/AppStoreReceipts/responseBody/Receipt-data.dictionary/In_app-data.dictionary",
  "metadataVersion" : "0.1.0",
  "role" : "Object",
  "symbol" : {
    "kind" : "Object",
    "modules" : [
      "App Store Receipts"
    ],
    "preciseIdentifier" : "data:store_receipts:responseBody.Receipt.In_app"
  },
  "title" : "responseBody.Receipt.In_app"
}
-->

# responseBody.Receipt.In_app

An array that contains the in-app purchase receipt fields for all in-app purchase transactions.

```
object responseBody.Receipt.In_app
```

## Discussion

The `in_app` array is not in chronological order. When parsing the array, iterate over all items to ensure all items are fulfilled. For example, you cannot assume that the last item in the array is the most recent.

For receipts containing auto-renewable subscriptions, check the value of the [`responseBody.Latest_receipt_info`](/documentation/AppStoreReceipts/responseBody/Latest_receipt_info-data.dictionary) key of the response to get the status of the most recent renewal.

You can use this array to:

- Check for an empty array in a valid receipt, indicating that the App Store has made no in-app purchase charges.
- Determine which products the user purchased. Purchases for non-consumable products, auto-renewable subscriptions, and non-renewing subscriptions remain in the receipt indefinitely. For consumable products, the transaction is added to the receipt when the purchase is made, and remains until your app finishes that transaction. It no longer appears in updated receipts after you call <doc://com.apple.documentation/documentation/StoreKit/SKPaymentQueue/finishTransaction(_:)>.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)