Distributing apps in the U.S. that provide an external purchase link
In addition to using Apple’s convenient, safe, and secure in-app purchase system, apps on the App Store in the United States that offer in-app purchases can also use the StoreKit External Purchase Link Entitlement (US) to include a link to the developer’s website that informs users of other ways to purchase digital goods or services. To use the entitlement, you’ll need to submit a request, enable the entitlement in Xcode, and use required StoreKit APIs. Apple will review your app to ensure it complies with the terms and conditions of the entitlement, as well as the App Store Review Guidelines and the Apple Developer Program License Agreement.
Requesting an entitlement
If you’re interested in using the StoreKit External Purchase Link Entitlement (US) for your app, get started by submitting the entitlement request form. You’ll need to be an Account Holder in the Apple Developer Program, provide details such as your app’s bundle ID, website domain, and payment service provider, and agree to the entitlement’s terms and conditions.
To qualify for the entitlement, your app must:
- Be available on the iOS or iPadOS App Store in the United States storefront;
- Offer in-app purchases when distributed through the iOS or iPadOS App Store in the United States storefront; and
- Not participate in the Video Partner Program or News Partner Program.
Enter your app’s information
App name and description. Enter your app’s name, then describe the primary purpose of your app and how it works.
Bundle ID. Enter the bundle ID (the app’s unique identifier) that you plan to use. Entitlement requests are per bundle ID and assigned entitlements can only be used with the single binary associated with the bundle ID.
Enter your website information
Destination URL. Provide the exact URL where users will initiate purchases on your website.
Customer support website. Enter the URL for your customer support website where users can get timely support for purchases made through your external payment system.
Configuring and enabling the entitlement in Xcode
After you receive an email confirmation that the entitlement has been assigned to your account and you’ve configured the App ID in Certificates, Identifiers & Profiles to support this entitlement, you’ll need to update your Xcode project, entitlements plist file, and Info.plist file to list the entitlement and metadata.
The Entitlement Profile is compatible and may only be used with applications distributed through the United States App Store, on devices running iOS or iPadOS 15.4 or later.
- In the Project navigator, select the .entitlements file. In Xcode 14 or later, the filename is prefixed with an icon.
- In the entitlements plist file, add a new entitlement key pair by holding the pointer over the Entitlements File row and clicking the add button (+).
- Provide the following values for the entitlement:
- Key: com.apple.developer.storekit.external-purchase-link
- Type: Boolean
- Value: True
- Provide the required metadata in your Info.plist file, as described in Updating your Info.plist file.
On the next build to your device or distribution request in Xcode Organizer, Xcode will detect that the .entitlements file and cached provisioning profile don’t match, and will request a new provisioning profile based on the latest App ID configuration to complete the code signing process.
Updating your Info.plist file
Each entitlement has unique requirements for the data that must be entered into your app’s Info.plist file. For details on managing your app’s Info.plist file, view documentation.
StoreKit External Purchase Link
- Select the Info.plist file from the Project navigator in your iOS target.
- Provide the following values for this entitlement:
- Key: SKExternalPurchaseLink
- Type: Dictionary with string values
- Key: A single ISO 3166-1 alpha-2 country code value for the country United States,
- Value: A single destination URL
- Key: A single ISO 3166-1 alpha-2 country code value for the country United States,
At all times, the destination URL (i.e., the link to your website) that you provide in the Info.plist file in Xcode must match the value in the app binary you submitted to App Review. Make sure that each value is a string that:
- Uses the https scheme;
- Forms a valid, absolute URL;
- Contains no query parameters; and
- Contains 1,000 or fewer ASCII characters.
Understanding app and link requirements
In addition to using the StoreKit External Purchase Link Entitlement (US) and required StoreKit APIs, you’ll need to follow usage requirements designed to help protect people’s privacy and security, prevent scams and fraudulent activity, and maintain the overall quality of the user experience.
Your app must offer in-app purchases in accordance with the Developer Program License Agreement and App Store Review Guidelines, and may not discourage end-users from making in-app purchases.
Prior to each instance of linking from Your StoreKit External Purchase Link App (US) to an external website for purchases, you must:
- Call the canMakePayments API and determine that the user may authorize payments; and
- Call the StoreKit External Purchase Link API and determine that they’re a user of the United States App Store, and if so, surface the associated system disclosure.
The link you provide in your app must:
- Go directly to your website without any redirect or intermediate links or landing page;
- Open a new window in the default browser on the device, and may not open a web view;
- Not pass additional parameters in the URL in order to protect the user (for example, their privacy);
- Be statically-defined in the <<SKExternalPurchaseLink>> in your app’s Info.plist file before submission to the App Store;
- Be submitted with your app to the App Store, and shall be resubmitted if the URL changes;
- Adhere to design and language requirements (see below);
- Not mimic Apple’s in-app purchase system, nor discourage users from using it;
- Be displayed no more than once in app, on no more than one app page the user navigates to (not an interstitial, modal, or pop-up), in a single, dedicated location on such page, and may not persist beyond that page; and
- May not be displayed on any page that is part of an in-app flow to merchandise or initiate a purchase using in-app purchase.
You may not include information about purchasing on your website or a link to your website for purchasing on your app’s App Store product page.
Digital goods and services sold on your website after link out that are marketed as being for use in an app must be available for use in that app.
If your app engages in misleading marketing practices, such as bait and switch, scams, or fraud, it will be removed from the App Store and you may be removed from the Apple Developer Program.
Design and language guidelines
Use the templates that best fits your use case. Aside from the price, percentage off, and your website URL, the language used in your app must match the template language. Don’t modify or use the template in a manner that misleads customers.
Purchase from the website at www.example.com
Special offer template:
For special offers, go to www.example.com
For a special offer, go to www.example.com
Lower price template:
Lower prices offered on www.example.com
Lower price offered on www.example.com
Percent off template:
To get XX% off, go to www.example.com
Specific price template:
Buy for $X.XX at www.example.com
Style and icon
Your link must follow the Plain Button style, as specified in the Human Interface Guidelines. It may not be enclosed in a shape that uses a contrasting background fill. The background surrounding the text must match the background of your app’s page. The link out icon provided by Apple must be displayed directly to the right of your website URL. The icon size must visually match the size of the text.
In-app system disclosure sheet
Each time your app calls the StoreKit External Purchase Link API, it will surface a system disclosure sheet provided by the system (iOS 15.4 and/or iPadOS 15.4 or later) that explains to the user that they’ll be leaving the app and going to an external website to make a purchase through a source other than Apple. When a user taps the Continue button, they will be directed to your website within a web browser.
Submitting your app for review in App Store Connect
When submitting your new app binary for review in App Store Connect, make sure to follow these submission requirements as well as the terms and conditions of the entitlement, the App Store Review Guidelines, and the Apple Developer Program License Agreement.
- Your app and in-app disclosure sheet for your external payment flow is properly implemented and tested.
- Make sure the link is only displayed to users on the United States App Store.
- The website your app links to for purchases and support is fully functional.
- Screenshots of your app’s UI showing where you show the link are included with your submission.
- Provide the name of your payment service provider (PSP) in the review notes. Make sure the PSP is ready to complete transactions from your app. Your PSP must:
- Meet Level 1 Payment Card Industry (PCI) compliance for handling credit and debit card data;
- Make a customer service process available for users, including a process to dispute unauthorized transactions, manage subscriptions (if applicable), and request refunds; and
- Denominate all prices for the sale of digital goods and services to users in U.S. dollars.
TestFlight may be used for beta testing the StoreKit External Purchase Link (US) entitlement profile, so long as any transactions incurred in such testing are provided to testers at no cost.
If your submission is incomplete, review times may be delayed or your app may be rejected. Once your app has been reviewed, its status will be updated in App Store Connect and you’ll be notified.
Commission, transaction reports, and payments
All App Store developers — including those who place buttons or links with calls to action in their apps — benefit from Apple’s proprietary technology and tools protected by intellectual property, and access to its user base. This includes Apple’s investment in developer tools, SDKs, and APIs, and updates to the platform itself. Apple also provides a safe and trusted experience on its platform, in which users and developers transact freely.
Apple is charging a commission on digital purchases initiated within seven days from link out, as described below. This will not capture all transactions that Apple has facilitated through the App Store, but is a reasonable means to account for the substantial value Apple provides developers, including in facilitating linked transactions.
Apple’s commission will be 27% on proceeds you earn from sales (“transactions“) to the user for digital goods or services on your website after a link out (i.e., they tap “Continue” on the system disclosure sheet), provided that the sale was initiated within seven days and the digital goods or services can be used in an app. This includes (a) any applicable taxes and (b) any adjustments for refunds, reversals and chargebacks. For auto-renewing subscriptions, (i) a sale initiated, including with a free trial or offer, within seven days after a link out is a transaction; and (ii) each subsequent auto-renewal after the subscription is initiated is also a transaction.
If you’re a participant in the Small Business Program, or if the transaction is an auto-renewal in the second year or later of an auto-renewing subscription, the commission will be 12%.
These commission rates apply to all amounts paid by each user net of transaction taxes charged by you. You will be responsible for the collection and remittance of any applicable taxes for sales processed by a third-party payment provider.
If you adopt this entitlement, you will be required to provide transaction reports within 15 calendar days following the end of each calendar month. Even if there were no transactions, you’re required to provide a report stating that is the case. If the cadence changes, we will update this page. To learn about the details that will need to be included in the report, view example reports. In the future, if Apple develops an API to facilitate reporting, you will be required to adopt such API within 30 days with an update of your app and follow the timing and requirements provided.
If payment to Apple is due, you will receive an invoice based on the reporting and will be required to remit payment to Apple for the amount invoiced within 30 days of the invoice being issued. Late payments bear interest at the rate of one percent (1%) per month or the highest rate permitted by law, whichever is less.
Please note that Apple has audit rights pursuant to the entitlement terms. This will allow Apple to review the accuracy of your record of digital transactions, ensuring the appropriate commission has been paid to Apple. Late payments accrue interest. Failure to pay Apple’s commission could result in the offset of in-app purchase proceeds owed to you, or other consequences such as removal of your app from the App Store, or termination from the Apple Developer Program.
If you use this entitlement, it will be your responsibility to provide timely support to customers if questions or issues arise with payments that take place outside of the App Store. Apple will not be able to assist customers with refunds, purchase history, subscription management, and other issues encountered when purchasing digital goods and services. You will be responsible for addressing such issues with customers.