Hello, I am currently implementing External Purchase Link and External Purchase Custom Link and am encountering an issue where both ExternalPurchaseLink.canOpen and ExternalPurchaseCustomLink.isEligible always return false under all test conditions. I would like to confirm whether my setup is missing any required steps or whether this behavior is expected.
Below are the details of my current environment and configuration:
🔧 1. Development Environment
- Xcode: 16.3, 16.4, 26.0 beta 4
- Devices:
-
- iPhone running iOS 26.2 beta
-
- iPhone running iOS 16.7.12
-
- macOS 15.5 (real device testing)
-
- Simulator iOS 18.0
- Build Type: Local development build using a Developer Provisioning Profile
- Sandbox account signed in during testing
🔑 2. Entitlements (Developer site & Xcode)
- In Certificates → Identifiers → App ID, both capabilities are enabled:
-
- StoreKit External Purchase
-
- StoreKit External Purchase Link
- The .entitlements file in Xcode includes:
-
- com.apple.developer.storekit.external-purchase = YES
-
- com.apple.developer.storekit.external-purchase-link = YES
- The Provisioning Profile also contains both entitlements (confirmed via codesign -d --entitlements :-).
📄 3. Info.plist Configuration Both keys are configured with correct region codes according to documentation:
- SKExternalPurchase
- SKExternalPurchaseCustomLinkRegions
🌍 4. Test Storefront
- Device storefront verified as United States (US) or Portugal (PT) (US = target region for External Purchase Link, PT = EU region)
But despite all the above configuration, both API calls consistently return false:
ExternalPurchaseLink.canOpen // false
ExternalPurchaseCustomLink.isEligible // false
So I cannot proceed to testing the remaining flow (token retrieval, link opening, etc.)
------ Questions ------
❓ Q1) Local Development Build Limitation
Is it expected behavior that Developer-signed local builds always return
canOpen = false / isEligible = false
for External Purchase Link & Custom Link?
Is there a technical or policy restriction that prevents eligibility in local dev builds?
❓ Q2) App Store Connect Configuration Requirement
Are there mandatory App Store Connect settings (such as external purchase URLs, support URL, disclosures, or country configuration) that must be enabled before eligibility becomes true?
Currently, no External Purchase Link or Custom Link menu is visible in my App Store Connect app settings. Is this menu only available after certain approvals or under specific conditions?
❓ Q3) TestFlight Requirement
Do External Purchase Link and Custom Link only return eligibility = true on:
- TestFlight builds, or
- Distribution-signed builds?
Or should eligibility also work on developer builds?
Formal confirmation would be helpful.
❓ Q4) Developer Account Type Limitation
We are using an Individual Developer Account (not Organization).
Can Individual accounts fully request, test, and ship apps using:
External Purchase Link
External Purchase Custom Link
Or are there limitations on account type?
🙏 Request
We have completed all documented setup steps (Entitlements → Provisioning → Info.plist), but eligibility remains false, blocking feature validation.
Please clarify which of the following is the cause:
- Local development builds do not support eligibility
- Missing App Store Connect configuration (not visible to us)
- Account type restriction
- Region rollout or entitlement approval requirement
- Any additional setup not documented publicly
Thank you for your assistance.