StoreKit External Purchase – Regional Restriction Not Working & canPresent Always Returns False

Hi everyone,

We're seeking clarification and assistance regarding the StoreKit External Purchase capability in our iOS app.

🧾 Context

We have applied for and been approved under the Alternative Terms Addendum for Apps Distributed in the European Union. The StoreKit External Purchase capability is now active in our app, but we want it to be limited to the EU region only, and not available in the United States.

Could anyone from Apple (or community members with experience) help confirm:

Whether there's any misconfiguration causing the capability to be active outside the EU?

That our account has EU distribution correctly enabled?

🧪 Technical Issue: canPresent Always Returns false

We are currently implementing StoreKit.externalPurchase in our iOS app, but we’re seeing unexpected behavior during testing.

✅ What We've Done

  1. Entitlement Added:

com.apple.developer.storekit.external-purchase

  1. Info.plist Updated:

<key>SKExternalPurchase</key> <array> <string>dk</string> </array>

  1. Device & Account Setup:

Real iPad used for testing

canMakePayments() returns true

Device signed in with a Sandbox Apple ID set to Denmark

❗️Observed Behavior

canPresent() always returns false

The storefront region reported by the app is "USA", not "Denmark"

We've tried:

Cleaning the project

Reinstalling the app

Verifying provisioning profiles

Restarting the device

Still no success.

Questions

Are there known delays in region propagation for Sandbox Apple IDs?

Are there device or App Store settings that influence canPresent() region logic?

Any help or insights would be appreciated!

StoreKit External Purchase – Regional Restriction Not Working & canPresent Always Returns False
 
 
Q