3

Distributing dating apps in the Netherlands - Support - Apple Developer

 2 years ago
source link: https://developer.apple.com/support/storekit-external-entitlement/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Distributing dating apps in the Netherlands

To comply with an order from the Netherlands Authority for Consumers and Markets (ACM), Apple allows developers distributing dating apps on the Netherlands App Store to choose to do one of the following: 1) continue using Apple’s in-app purchase system, 2) use a third-party payment system within the app, or 3) include an in-app link directing users to the developer’s website to complete a purchase.

Developers of dating apps who want to continue using Apple’s in-app purchase system may do so and no further action is needed. Those who want to use a different payment system will need to request the StoreKit External Purchase Entitlement or the StoreKit External Purchase Link Entitlement.

The entitlements that comply with the ACM order are only available for dating apps on the App Store in the Netherlands, and apps distributed pursuant to those entitlements must only be available in the Netherlands. As a result, dating app developers using these entitlements will need to submit a separate app binary for iOS and/or iPadOS that may only be distributed on the Netherlands storefront. Apple will review this Netherlands-specific dating 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 Entitlement or the StoreKit External Purchase Link Entitlement, get started by submitting an 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, payment service provider, and website domain; and agree to the entitlement’s terms and conditions.

  1. Choose entitlement type

    The StoreKit External Purchase Entitlement. For dating apps on the Netherlands storefront, this entitlement lets you use a third-party payment system within your app’s native user interface.

    The StoreKit External Purchase Link Entitlement. For dating apps on the Netherlands storefront, this entitlement lets you include an in-app link directing users to a website you own or are responsible for to complete a purchase.

  2. 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. Your bundle ID must be new binary distributed solely on the Netherlands storefront.

  3. Enter your payment processing information

    Enter your payment service provider’s (PSP) name and website. Developers cannot store or transmit payment information, unless they are a PSP who meets the same criteria required of all other PSPs. Before your entitlement can be assigned, you must demonstrate that your PSP meets the criteria of having a secure payment processing system and an established track record of protecting user privacy. Your PSP will need to offer the following:

    • Privacy, security, and fraud prevention services consistent with industry standards.
    • Broad payment support including cards, iDEAL, and Apple Pay.
    • Subscription billing capabilities with secure card storage and handling.
    • Split payments, with the ability to pay commission directly to Apple at the developer’s request.
  4. Enter your website information

    Website domain. If you’re requesting the StoreKit External Purchase Link Entitlement, you’ll need to provide the website domain (where users will complete purchases) for your destination URL. For example, if your app will link to “https://example.com/subscription-sign-up/”, enter “https://example.com”.

    Note that the website domain you provide on the entitlement request form and the destination URL you provide in the Xcode info.plist file must match the app binary you submit to App Review at all times.

    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. If you plan to use more than one URL, list every URL.

Configuring and enabling the entitlement in Xcode

After you’ve received an email confirmation that the entitlement has been assigned to your account and you’ve configured your app’s App ID in Certificates, Identifiers, and 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 is compatible with devices running iOS 15 and iPadOS 15 or later.

Screenshot of the entitlement being enabled in XcodeScreenshot of the entitlement being enabled in Xcode

  1. In the Project navigator, select the .entitlements file. In Xcode 13, the filename is prefixed with an yellow checkmark seal icon.
  2. 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.
  3. Provide the following values for the entitlement:
    1. Key: com.apple.developer.storekit.external-purchase-link or com.apple.developer.storekit.external-purchase
    2. Type: Boolean
    3. Value: True
  4. 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 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
  1. Select the info.plist file from the Project Navigator in your iOS target.
  2. Provide the following values for this entitlement:
    1. Key: SKExternalPurchase
    2. Type: Array of String
    3. Value: A single ISO 31566-1 alpha-2 country code value for the country Netherlands, nl
StoreKit External Purchase Link
  1. Select the info.plist file from the Project Navigator in your iOS target.
  2. Provide the following values for this entitlement:
    1. Key: SKExternalPurchaseLink
    2. Type: Dictionary with string values
      1. Key: A single ISO 31566-1 alpha-2 country code value for the country Netherlands, nl
      2. Value: A single destination URL

Note: The destination URL (link to your website) that you provide in the info.plist file in Xcode must match at all times the value in your app binary 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 at most 1,000 ASCII characters.

Providing a third-party payment system within your app

Requirements and guidelines

In addition to enabling the StoreKit External Purchase Entitlement, you’ll need to use required StoreKit APIs, and 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.

  • The entitlement can only be used with a dating app for iOS or iPadOS on the App Store in the Netherlands.
  • The entitlement can only be used with a new binary distributed solely on the Netherlands storefront.
  • The entitlement cannot be used in the same app with Apple’s in-app purchase system or the StoreKit External Purchase Link Entitlement.
  • When using the entitlement, you may include a third-party payment system within the app. The app must surface the External Purchase Modal Sheet (Figure 1), explaining that the user is going to make purchases through a source other than Apple. The in-app payment flow you implement must:
    • Provide a native experience within the app. It may not be within a web view. The user can leave the app only when legally required to go to a website or another app to complete the purchase.
    • Not contain any hidden, dormant, or undocumented payment functionality or behavior.
  • 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.

Displaying the in-app modal sheet

When using a third-party payment system within your app, your app must include an in-app modal sheet explaining that purchases are made through a source other than Apple. It must be displayed prior to:

  • Any payment flow where the user would make a purchase;
  • Any flow to enter payment information, even if it is not for a specific purchase.

In both flows, your app will need to continue displaying the modal sheet until the user taps the Continue button, on a per-device basis.

The modal sheet’s design and messaging must exactly match the specifications provided in figure 1.

Figure 1. External Purchase Modal Sheet

Example of in-app modal sheet
English

Title: This app does not support the App Store’s private and secure payment system

Body: All purchases in the <App Name> app will be managed by the developer “<Developer Name>.” Your stored App Store payment method and related features, such as subscription management and refund requests, will not be available. Only purchases through the App Store are secured by Apple.

Learn More

Action 1: Continue
Action 2: Cancel

Dutch

Title: Deze app biedt geen ondersteuning voor het privé en veilige betalingssysteem van de App Store

Body: Alle aankopen in de -app worden beheerd door de ontwikkelaar ‘<Developer Name>’. Je bewaarde App Store-betaalmethode en gerelateerde functies, zoals abonnementsbeheer en verzoeken voor restitutie, zijn niet beschikbaar. Alleen aankopen via de App Store zijn beveiligd door Apple.

Lees Meer

Action 1: Ga door
Action 2: Annuleer

Design Specifications (4.5 MB)

Using required StoreKit APIs

When using the StoreKit External Purchase entitlement, your app must:

  • Call canMakePayments prior to any flow to make a purchase or enter payment information. This call indicates whether the user is allowed to make payments.
  • Call Storefront or SKStorefront in StoreKit to confirm that Netherlands is the user’s storefront prior to:
    • Any payment flow where the user would make a purchase;
    • Any flow to enter payment information, even if it is not for a specific purchase.

Apple is developing a new StoreKit External Purchase API that will provide the in-app modal sheet that informs users of an external payment system prior to a payment flow. The API will also include the functionality of Storefront or SKStorefront.

When the new StoreKit External Purchase API becomes available, you must adopt it by submitting the next update of your app within 30 days. You’ll need to use the in-app modal sheet provided by the API. Your app will also need to continue calling SKStorefront or Storefront prior to every instance of making a purchase or entering payment information, unless it’s an instance in which your app calls the StoreKit External Purchase API.

Linking to your website from your app

Requirements and guidelines

In addition to enabling the StoreKit External Purchase Link Entitlement, you’ll need to use required StoreKit APIs, and 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.

  • The entitlement can only be used with a dating app for iOS and/or iPadOS on the App Store in the Netherlands.
  • The entitlement can only be used with a new binary distributed solely on the Netherlands storefront.
  • The entitlement cannot be used in the same app with Apple’s in-app purchase system or the StoreKit External Purchase entitlement. When using the entitlement, you may include a link in your app to direct users to make purchases on a website you own or are responsible for. The link must:
    • Surface the External Purchase Link Modal Sheet (Figure 2), explaining that the user is leaving the app and going to the web to make purchases through a source other than Apple;
    • Open a new window in the default browser installed on the user’s device; the link may not open a web view in the app;
    • Not pass additional parameters in the URL, so that user or device data is not transmitted to the developer without the user’s knowledge or permission;
    • Go directly to your website without any redirect or intermediate link or landing page;
    • Appear only once per app page, and must display the same message in each instance; and
    • Be submitted with your app to App Review, and be resubmitted if the URL changes.
  • Your App Store product page’s metadata cannot include information about purchasing on your website or a link to your website for purchasing.
  • 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.

Displaying the in-app modal sheet

Prior to each instance of linking to an external website for purchasing digital goods and services, your app must display an in-app modal sheet explaining to the user that they will be leaving the app and going to the web to make a purchase through a source other than Apple. The modal sheet’s design and messaging must exactly match the specifications provided in figure 2. This is part of an effort to help protect user privacy and security, prevent scams and fraudulent activity, and maintain the overall quality of the user experience.

Figure 2. External Purchase Link Modal Sheet

Example of in-app modal sheet
English

Title: You’re about to leave the app to process your payment on an external website

Body: Any purchases made externally will be managed by the developer “<Developer Name>.” Your stored App Store payment method and related features, such as subscription management and refund requests, will not be available. Only purchases through the App Store are secured by Apple.

Learn More

Action 1: Continue
Action 2: Cancel

Dutch

Title: Je staat op het punt de app te verlaten om je betaling te verwerken op een externe website

Body: Alle externe aankopen worden beheerd door de ontwikkelaar ‘<Developer Name>’. Je bewaarde App Store-betaalmethode en gerelateerde functies, zoals abonnementsbeheer en verzoeken voor restitutie, zijn niet beschikbaar. Alleen aankopen via de App Store zijn beveiligd door Apple.

Lees Meer

Action 1: Ga door
Action 2: Annuleer

Design Specifications (4.5 MB)

Using required StoreKit APIs

When using the StoreKit External Purchase entitlement, your app must:

  • Call canMakePayments prior to any flow to make a purchase or enter payment information. This call indicates whether the user is allowed to make payments.
  • Call Storefront or SKStorefront in StoreKit to confirm that Netherlands is the user’s storefront prior to:
    • Any payment flow where the user would make a purchase;
    • Any flow to enter payment information, even if it is not for a specific purchase.

Apple is developing a new StoreKit External Purchase API that will provide the in-app modal sheet that informs users of an external payment system prior to a payment flow. The API will also include the functionality of Storefront or SKStorefront.

When the new StoreKit External Purchase API becomes available, you must adopt it by submitting the next update of your app within 30 days. You’ll need to use the in-app modal sheet provided by the API. Your app will also need to continue calling SKStorefront or Storefront prior to every instance of making a purchase or entering payment information, unless it’s an instance in which your app calls the StoreKit External Purchase API.

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 in-app modal sheet for your external payment flow is properly implemented and tested.
  • The website your app links to for purchases and support is fully functional.
  • Your PSP is ready to complete transactions from your app.
  • Screenshots of your app’s UI where you make the required disclosures to users are included with your submission.
  • Your app availability in App Store Connect is limited to the Netherlands.

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 will be notified.

At all times, you’ll need to make sure your app’s entitlement details match your app’s binary, and are up to date. To make updates to your entitlement details, such as PSP and website domain, submit an entitlement update form.

Commission and sales reporting

Consistent with the ACM’s order, dating apps that are granted an entitlement to link out or use a third-party in-app payment provider will pay Apple a commission on transactions. Apple will charge a 27% commission on the price paid by the user, net of value-added taxes. This is a reduced rate that excludes value related to payment processing and related activities. Developers will be responsible for the collection and remittance of any applicable taxes, such as the Netherlands’ value-added tax (VAT), for sales processed by a third-party payment provider.

Developers using these entitlements will be required to provide a report to Apple recording each sale of digital goods and content that has been facilitated through the App Store. This report will need to be provided monthly within 15 calendar days following the end of Apple’s fiscal month. To learn about the details that will need to be included in the report, view an example report. Qualifying developers will receive an invoice based on the reporting and will be required to remit payment to Apple for the amount invoiced within 45 days following the end of Apple’s fiscal month. In the future, if Apple develops technical solutions to facilitate reporting, developers will be required to adopt such technologies.

Please note that Apple has audit rights pursuant to the entitlement’s terms and conditions. This will allow Apple to review the accuracy of a developer’s record of digital transactions as a result of the entitlement, ensuring the appropriate commission has been paid to Apple. Failure to pay Apple’s commission could result in the offset of proceeds owed to you in other markets, removal of your app from the App Store or removal from the Apple Developer program.

Supporting users

If you’re a developer using one of these entitlements, it will be your responsibility to provide timely support to customers if questions or issues arise stemming from alternative payment options. Because Apple will not be aware of purchases made using alternative methods, Apple will not be able to assist users with refunds, payment history, subscription management, and other issues encountered when purchasing digital goods and services through these alternative purchasing methods. You will be responsible for addressing such issues with customers.

Resources


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK