ExternalPurchaseCustomLink.isEligible is false on German storefront despite valid EU entitlement

We are implementing StoreKit External Purchase Link for an iOS app distributed in the European Union and are trying to determine whether we are missing a configuration step or encountering a StoreKit server-side eligibility issue.

The failure is reproducible in a focused native Swift Xcode project that directly calls StoreKit:

let eligible = await ExternalPurchaseCustomLink.isEligible

The sample contains no Flutter code, PayPal SDK, networking, or application business logic.

Configuration we have verified:

  • The Account Holder accepted the StoreKit External Purchase Link Entitlement Addendum for EU Apps.
  • StoreKit External Purchase Link is enabled and shown as Assigned for the App ID.
  • The regenerated Development provisioning profile contains com.apple.developer.storekit.external-purchase-link = true.
  • The installed app's signed entitlements contain the same value.
  • The application-identifier and team-identifier match the intended App ID and team.
  • The compiled Info.plist contains SKExternalPurchaseCustomLinkRegions with all 27 lowercase EU region codes, including "de".
  • Germany is available for the app in App Store Connect.
  • No local StoreKit Configuration file is enabled.

Test environment:

  • Physical iPhone running iOS 26.5.2 (23F84)
  • Xcode 26.6 (17F113)
  • Real German Media & Purchases Apple Account
  • German Sandbox Apple Account
  • StoreKit 2 storefront ID 143443, country code DEU
  • StoreKit 1 also reports country code DEU
  • AppStore.canMakePayments = true
  • AppTransaction verifies in the Sandbox environment
  • Clean build and reinstall using the regenerated Development profile

Observed result:

ExternalPurchaseCustomLink.isEligible = false

For diagnostic purposes only, after observing false eligibility, we also requested both token types:

  • ACQUISITION: StoreKitError.notAvailableInStorefront
  • SERVICES: StoreKitError.notAvailableInStorefront

A delayed recheck still reports storefront DEU and isEligible=false. Our production flow does not request tokens unless eligibility is true.

We found the similar thread "Unable to enable eligibility for External Purchase Link APIs" (https://developer.apple.com/forums/thread/808349). In that case, the production Media & Purchases account had an unsupported storefront. In our case, both the real Media & Purchases account and the Sandbox account are German, and StoreKit itself reports DEU.

We also found "External Purchase in Japan" (https://developer.apple.com/forums/thread/822618), where an Apple App Store Commerce Engineer requested a Feedback Assistant report with a sysdiagnose and screen recording for isEligible=false.

Questions:

  1. Should ExternalPurchaseCustomLink.isEligible return true in a developer-signed Sandbox build when the entitlement, compiled Info.plist, German storefront, and account conditions are all satisfied, or is TestFlight/App Store approval required?

  2. Is there any additional App Store Connect storefront election, entitlement approval, or server-side activation step required beyond the EU addendum, Assigned capability, signed entitlement, and SKExternalPurchaseCustomLinkRegions?

  3. If this configuration is complete, could Apple verify whether eligibility has not propagated correctly for the German Development/StoreKit Sandbox environment, and which diagnostics should be included in a Feedback Assistant report?

We have also opened a code-level support request and prepared a minimal native Swift reproduction project. Any guidance from StoreKit engineering would be appreciated.

ExternalPurchaseCustomLink.isEligible is false on German storefront despite valid EU entitlement
 
 
Q