This is a StoreKit / ExternalPurchaseCustomLink clarification. Apple DTS asked me to post the follow-up question here.
We are designing an SDK for apps that support EU external purchase.
In EU storefronts, the app will use ExternalPurchaseCustomLink only:
- No App Store In-App Purchase will be offered to users.
- No Product.purchase() will be called.
- No SKPaymentQueue.add(_:) will be called.
- The actual purchase will happen only on our external website through the ExternalPurchaseCustomLink flow.
Question:
In this EU ExternalPurchaseCustomLink-only setup, is it acceptable and supported to call Product.products(for:) / SKProductsRequest only to fetch product display metadata from App Store Connect?
The metadata would only be used to display the product list UI, for example:
- product title / display name
- localized price
- currency / priceLocale formatting information
The returned Product / SKProduct would not be used to start an App Store purchase.
Or should apps avoid Product.products(for:) / SKProductsRequest entirely in EU storefronts where only ExternalPurchaseCustomLink is offered, and use their own product catalog instead?