Can Product.products / SKProductsRequest be used only for display metadata when EU storefront uses ExternalPurchaseCustomLink only?

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?

Can Product.products / SKProductsRequest be used only for display metadata when EU storefront uses ExternalPurchaseCustomLink only?
 
 
Q