<!--
{
  "availability" : [
    "iOS: 15.4.0 -",
    "iPadOS: 15.4.0 -",
    "macCatalyst: 15.4.0 -",
    "macOS: 14.4.0 -",
    "tvOS: 17.4.0 -",
    "visionOS: 1.1.0 -",
    "watchOS: 10.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/ExternalPurchase",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "StoreKit"
    ],
    "preciseIdentifier" : "s:8StoreKit16ExternalPurchaseO"
  },
  "title" : "ExternalPurchase"
}
-->

# ExternalPurchase

An enumeration that enables qualifying apps to offer external purchases within the app.

```
enum ExternalPurchase
```

## Overview

This functionality is only available to and required by apps with the <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.storekit.external-purchase> entitlement. For more information, see:

- [Distributing apps using alternative payment providers in the European Union](https://developer.apple.com/go/?id=storekit-external-purchase-eu)
- [Distributing dating apps in the Netherlands](https://developer.apple.com/support/storekit-external-entitlement/)
- [Distributing apps using a third-party payment provider in South Korea](https://developer.apple.com/support/storekit-external-entitlement-kr/)

> Note:
> You must check ``doc://com.apple.storekit/documentation/StoreKit/AppStore/canMakePayments`` before calling the External Purchase APIs. If ``doc://com.apple.storekit/documentation/StoreKit/AppStore/canMakePayments`` is `false`, don’t call the ``doc://com.apple.storekit/documentation/StoreKit/ExternalPurchaseLink`` or ``doc://com.apple.storekit/documentation/StoreKit/ExternalPurchase`` APIs.

## Topics

### Offering an external purchase

[`canPresent`](/documentation/StoreKit/ExternalPurchase/canPresent)

A Boolean value that indicates whether the app can successfully present the notice sheet to inform people about external purchases.

[`presentNoticeSheet()`](/documentation/StoreKit/ExternalPurchase/presentNoticeSheet())

Presents a notice sheet from Apple that informs people of external purchases before showing them, and determines if your app can present external purchases

[`NoticeResult`](/documentation/StoreKit/ExternalPurchase/NoticeResult)

The options available to people while viewing the external purchase notice sheet.

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/SKExternalPurchase>

## Relationships

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

---

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)