<!--
{
  "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/ExternalPurchaseLink/canOpen",
  "metadataVersion" : "0.1.0",
  "role" : "Type Property",
  "symbol" : {
    "kind" : "Type Property",
    "modules" : [
      "StoreKit"
    ],
    "preciseIdentifier" : "s:8StoreKit20ExternalPurchaseLinkO7canOpenSbvpZ"
  },
  "title" : "canOpen"
}
-->

# canOpen

A Boolean value that indicates whether the app can successfully open the configured external purchase link in the current App Store storefront.

```
static var canOpen: Bool { get async }
```

## Discussion

Use this method if your app configures the <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/SKExternalPurchaseLink> property list key.

Check this property, as shown below, to determine whether your app can successfully call [`open()`](/documentation/StoreKit/ExternalPurchaseLink/open()).

```swift
await ExternalPurchaseLink.canOpen
```

If the result is `true`, configure any user-interface controls that enable people to open the external purchase link. You configure that link in the <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/SKExternalPurchaseLink> property list key in the `Info.plist` file. There’s no need to call [`canOpen`](/documentation/StoreKit/ExternalPurchaseLink/canOpen) again, unless the App Store storefront changes. For more information about the App Store storefront, see [`Storefront`](/documentation/StoreKit/Storefront).

This property is `true` if all the following conditions are met:

- The current App Store storefront allows external purchase and the person is eligible to make external purchases.
- Your app configures the <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.storekit.custom-purchase-link.allowed-regions> or <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.storekit.external-purchase-link> entitlement.
- Your app configures a link for the current App Store storefront in <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/SKExternalPurchaseLink>.

Otherwise, this property is `false`.

When this property is `false`, check [`canMakePayments`](/documentation/StoreKit/AppStore/canMakePayments) to determine whether your app can offer in-app purchases using the StoreKit [In-App Purchase](/documentation/StoreKit/in-app-purchase) APIs. For more information, see [`canMakePayments`](/documentation/StoreKit/AppStore/canMakePayments).

---

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)