Distributing music streaming apps in the EEA that provide an external purchase link

In addition to using Apple’s convenient, safe, and secure In-App Purchase system, music streaming apps on the App Store in the European Economic Area (EEA) can use the Music Streaming Services Entitlement (EEA) to include a link to the developer’s website that informs users of other ways to purchase digital goods or services, invite users to provide their email address with the express purpose of sending them links, or simply provide information about purchases available on the developer’s website, without a link. 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 follows the terms and conditions of the entitlement, as well as the App Review Guidelines and Apple Developer Program License Agreement.

Requesting the entitlement

If you’re interested in using the Music Streaming Services Entitlement (EEA) 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:

  • Have the primary purpose of offering music streaming services;
  • Have selected Music as their primary app category;
  • Be available on the iOS or iPadOS App Store in an EEA storefront;
  • Not use the StoreKit External Link Account Entitlement profile; and
  • Not participate in the Video Partner Program or News Partner Program.

Please note: If you agree to the Alternative Terms Addendum for Apps in the EU, your use of alternative payment capabilities in EU-based storefronts will be governed under those terms, and the terms of the Music Streaming Services Entitlement (EEA) only apply to the Iceland and Norway storefronts of the App Store.

Enter your app and website 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.

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 an EEA storefront, on devices running iOS and/or iPadOS 17.4 or later.

Screenshot of the entitlement being enabled in XcodeScreenshot of the entitlement being enabled in Xcode
  1. Enable the entitlement in the Xcode Capability library or on the developer website.
  2. Provide the following values for the entitlement:
    1. Key: com.apple.developer.storekit.external-purchase-link
    2. Type: Boolean
    3. Value: True
  3. Provide the required metadata in your Info.plist file, as described in Updating your Info.plist file.

On the next build of 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

The entitlement has unique requirements for the data that must be entered into your app’s Info.plist file. Your app can have up to five purchase links per storefront, per binary. To implement a single purchase link, use SKExternalPurchaseLink. To implement multiple purchase links, use SKExternalPurchaseMultiLink to provide an array of strings for multiple purchase links. For details on managing your app’s Info.plist file, view documentation.

SKExternalPurchaseLink

  1. Select the Info.plist file from the Project navigator in your iOS target.
  2. Provide the following values for the entitlement:
    1. Key: SKExternalPurchaseLink
    2. Type: Dictionary with string values
      1. Key: A single ISO 3166-1 alpha-2 country code value for a country in the EEA.
      2. Value: A single destination URL

SKExternalPurchaseMultiLink

  1. Select the Info.plist file from the Project navigator in your iOS target.
  2. Provide the following values for the entitlement:
    1. Key: SKExternalPurchaseMultiLink
    2. Type: Dictionary with string values
      1. Key: A single ISO 3166-1 alpha-2 country code value for a country in the EEA.
      2. Value: An array containing up to five destination URLs

Note: If your app uses SKExternalPurchaseMultiLink, you’ll need to (1) call APIs to determine eligibility as specified in the Understanding app and link requirements section below; (2) build and display the in-app disclosure sheet as specified in the Displaying the disclosure sheet section below, and (3) provide transaction reports to Apple as specified in the Transaction Reporting section below. In the future, if Apple develops API to facilitate all of these actions, you will be required to adopt such API within 30 days with an update of your app.

Eligible EEA country codes

The App Store is available in the following EEA countries: Austria (at), Belgium (be), Bulgaria (bg), Croatia (hr), Cyprus (cy), Czechia (cz), Denmark (dk), Estonia (ee), Finland (fi), France (fr), Germany (de), Greece (gr), Hungary (hu), Iceland (is), Ireland (ie), Italy (it), Latvia (lv), Lithuania (lt), Luxembourg (lu), Malta (mt), Netherlands (nl), Norway (no), Poland (pl), Portugal (pt), Romania (ro), Slovakia (sk), Slovenia (si), Spain (es), and Sweden (se).

Include a key entry in the dictionary for each country code where your app supports linking out. At all times, the destination URLs (i.e., the links to your webpage) that you provide in the Info.plist file in Xcode must match the values 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 entitlement 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.

You may invite users in your app to provide you their email address, with the express purpose of sending them a link to your website to purchase digital goods or services. You also may provide information in your app about digital goods or services for sale on Your website, without the ability to tap and link out to Your website.

If you choose to offer a link out, prior to each instance of linking out from your app to take the user to a website you own or are responsible for in order to purchase digital goods or services, you must call the relevant StoreKit External Purchase Link APIs, to (1) determine that you may use a link out and open a link; and (2) if so, display the system disclosure sheet.

If your app uses multiple external purchase links per storefront, prior to each instance of linking from your app 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 an EEA storefront, and if so, surface the associated system disclosure.

Any link you provide in your app for linking out to your website for purchases of digital goods or services 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>> (if you have one link per storefront) or <<SKExternalPurchaseMultiLink>> (if you have more than one link per storefront) in your app’s Info.plist file before submission to the App Store; and
  • Be submitted with your app to the App Store, and shall be resubmitted if the URL changes.

If you choose to use the App Store In-App Purchase system in your app, any link out, invitation to provide an email address for the express purpose of purchasing digital goods on your website, or provision of information under the entitlement must:

  • Be displayed in your 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;
  • Not be displayed on any page that is part of an in-app flow to merchandise or initiate a purchase using In-App Purchase; and
  • Not discourage users from making In-App Purchases, or disparage In-App Purchase (nor may your app otherwise do so).

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.

You must provide accurate information regarding the digital goods or services available for purchase on your website. 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 templates and best practices

Sign in screen

Account screen

App page

We recommend using any of the following Apple-provided templates that best fits your use case. The templates follow the Plain Button style, as specified in the Human Interface Guidelines, and are localized in 40 locales.

Purchase template:

Purchase from the website at www.example.com Link-out iconLink-out icon

Special offer template:

For special offers, go to www.example.com Link-out iconLink-out icon

For a special offer, go to www.example.com Link-out iconLink-out icon

Lower price template:

Lower prices offered on www.example.com Link-out iconLink-out icon

Lower price offered on www.example.com Link-out iconLink-out icon

Percent off template:

To get XX% off, go to www.example.com Link-out iconLink-out icon

Specific price template:

Buy for $X.XX at www.example.com Link-out iconLink-out icon

Displaying the disclosure sheet

When a user taps on a link in your app to a make a purchase on your website, it must display a disclosure sheet within in your app explaining to the user that they’ll be going to the web to make a purchase through a source other than Apple. It must be displayed prior to each instance of linking to an external website for purchasing digital goods and services, until the user taps "Continue", on a per-device basis.

Single purchase link

If you’re providing a single link out to your webpage from within your app, this is implemented by using the ExternalPurchaseLink API. The operating system will display a system-provided disclosure sheet to users on a device running iOS 17.4, iPadOS 17.4, macOS 14.4, tvOS 17.4, or watchOS 14.4 or later.

Multiple purchase links

If you’re providing multiple purchase links using SKExternalPurchaseMultiLink in your app, you need to manually build the in-app disclosure sheet that matches the design specifications and text strings provided by Apple. In a future release of iOS and iPadOS, calling the ExternalPurchaseLink API will surface a disclosure sheet provided by the system that supports multiple purchase links. When the updated API becomes available, you’ll be required to adopt the API within 30 days with an update of your app and follow the timing and requirements provided.

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 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.
  • The link, solicitation of email, and/or provision of information about digital goods or services available for purchase on your website is only displayed to users on an EEA storefront
  • If you use link out, be sure that:
    • The website your app links out to for purchases and support is fully functional.
    • The name of your payment service provider (PSP) is included in the review notes. Make sure the PSP is ready to complete transactions from your app. It 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
    • You denominate all prices for the sale of digital goods and services to users in local currency or euros.
    • If your app uses SKExternalPurchaseMultiLink for multiple purchase links, the URLs are included in the review notes.

TestFlight may be used for beta testing the Music Streaming Services Entitlement (EEA) profile, as 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, payments, and taxes

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. These include Apple’s ongoing investments in developer tools that make it easy to build apps for Apple’s ecosystem, SDKs, and APIs, and updates to the platform itself. Apple also provides a safe and trusted experience through the App Store, made possible by App Review and antifraud initiatives, which enables users and developers to transact with confidence. Developers benefit from App Store discovery, marketing tools and opportunities, and analytics, while leveraging Apple’s infrastructure for hosting apps and distributing app downloads, redownloads, and updates.

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.

Transaction Reporting

If your app adopts SKExternalPurchaseLink to provide a single link out URL, you’re required to use the External Purchase Server API to report transactions to Apple for commission calculation and collection purposes. Required reporting includes refunds, corrections, renewals, one-time purchases, and transactions which didn’t result in a purchase.

Each SKExternalPurchaseLink API call generates a unique external purchase token from Apple. You’re expected to report within 24 hours of each completed transaction for an external purchase token. Report all tokens, regardless of whether a transaction has successfully completed, within ten days. You are also required to implement the App Store Server Notifications V2 endpoint on your server to ensure you receive server notifications about unreported tokens. Tokens that remain unreported after ten days are flagged and you’ll receive an App Store server notification reminding you to complete your transaction reporting. Learn about technical implementation details.

If your app adopts SKExternalPurchaseMultiLink to provide multiple external purchase links, you're 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.

Payments

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.

Taxes

Tax on commission

As is standard for business transactions, commission does not include taxes. You may see any applicable taxes, as required by tax law, added as new lines on your invoice. Taxes may apply in certain countries and/or regions, including but not limited to, value-added tax (VAT), sales and use tax, sales and service tax (SST), goods and services tax (GST), consumption tax, etc.

Generally, the applicability of tax depends on a combination of factors:

  • Your business location (your legal entity address provided when enrolling in the Apple Developer Program).
  • Tax information that you provide to Apple (such as valid tax ID, exemption status, etc.).
  • The billing Apple legal entity. For the purposes of the provisions referred to by Section 4.1 of the Music Streaming Services Entitlement Addendum for EEA Apps.
    • If you are based in the United States, Canada or Latin America region, "Apple" means:
      • Apple Inc., located at One Apple Park Way, Cupertino, California, if you are located in the United States, including Puerto Rico;
      • Apple Canada Inc., located at 120 Bremner Blvd, Suite 1600, Toronto ON 5J 0A8, Canada if you are located in Canada; and
      • Apple Services LATAM LLC, located at 1 Alhambra Plaza, Ste 700 Coral Gables, Florida, if you are located in Mexico, Central or South America, or any Caribbean country or territory (excluding Puerto Rico).
    • If you are based elsewhere, “Apple” means Apple Distribution International Ltd., located at Hollyhill Industrial Estate, Hollyhill, Cork, Republic of Ireland.

In the event that any amount payable by you to Apple for commission is subject to any applicable withholding tax, and that you’re required to collect and remit such tax, you shall gross up the relevant payment to Apple, so that after you deduct and remit the applicable withholding tax to tax authority, Apple shall receive the same amount as originally invoiced. You shall bear full responsibility for such compliance obligations. If you apply any applicable withholding tax, please properly indicate on any withholding tax documentation the correct Apple legal entity issuing the specific invoice and provide Apple with tax remittance documentation.

For additional details, view the Music Streaming Services Entitlement Addendum for EEA Apps. If you have questions, consult your tax adviser.

Tax on link out transactions

For purchases made using link out to your webpage, you’re responsible for taxes, including (but not limited to):

  • Determining if a transaction is taxable;
  • Charging and collecting the taxes at the applicable rate;
  • Remitting the taxes to the appropriate taxing authority;
  • Providing any required documentation to the end-user or appropriate taxing authority; and
  • Meeting all other country-specific tax compliance obligations imposed as a result of making in-app sales subject to tax in the storefront country and/or your country of residence.

Prior to using link out on an EEA storefront, you must provide Apple with an EU, Norway and Iceland-specific VAT ID that demonstrates you are registered to handle VAT payments. Only one EU VAT ID is necessary for all EU storefronts.

Supporting customers

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.