Apple allows outside payments in Korea, doesn't make it easy, takes 26%

From "Distributing apps using a third-party payment provider in South Korea" posted Thursday on Apple's Developer Support page:

The Telecommunications Business Act in South Korea was recently amended to mandate that apps distributed by app market operators in South Korea be allowed to offer an alternative payment processing option within their apps. To comply with this law, developers can use the StoreKit External Purchase Entitlement. This entitlement allows apps distributed on the App Store solely in South Korea the ability to provide an alternative in-app payment processing option. Developers 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 enable the entitlement in Xcode, use required StoreKit APIs, and submit a separate app binary for iOS and/or iPadOS that is distributed solely on the App Store in South Korea. Apple will review this South Korea-specific 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...

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.

    1. In the Project navigator, select the .entitlements file. In Xcode 13, the filename is prefixed with an 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:
      Type: Boolean
      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 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

Select the Info.plist file from the Project Navigator in your iOS target.
Provide the following values for this entitlement:Key: SKExternalPurchase
Type: Array of String
Value: KR (The single ISO 31566-1 alpha-2 country code value for South Korea.)


My take: Apple's back-end -- the view developers get-- is rarely pretty. This one is downright ugly.


  1. Darren DMW said:
    whoah – 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.

    June 30, 2022
  2. Fred Stein said:
    While the article is highly detailed, Apple’s thesis is simple. Transaction processing is worth 4%. Building, creating, and maintaining safety in, the market place is worth 26%.

    June 30, 2022
  3. Michael Goldfeder said:
    The detailed notice to the consumer that they will no longer have the privacy and other protections of the secured App Store will be the end of this side loading dream. The consumer is still in control just like the App Tracker option Apple made available for users to decide for themselves.

    Good luck!

    June 30, 2022
  4. Brian Loftus said:
    This is not app side loading. This is turning on alternative app purchases. Side loading is downloading software onto your phone not from the app store.

    June 30, 2022

Leave a Reply