SKProductsRequest returns 0 products — all identifiers reported as invalid (Capacitor hybrid app)

I'm building a hybrid iOS app using Capacitor with a native Swift IAP bridge (StoreKit 1). My SKProductsRequest consistently returns 0 products, and all product identifiers appear in response.invalidProductIdentifiers.

Setup:

Capacitor app with custom CAPBridgeViewController subclass handling IAP via SKPaymentQueue and WKScriptMessageHandler 5 products configured in App Store Connect (3 consumables, 2 auto-renewable subscriptions), all "Ready to Submit" Bundle ID matches between Xcode and App Store Connect In-App Purchase capability enabled Paid Apps agreement active Testing on physical iPad Air M3 with Sandbox Tester Products created over 48 hours ago Clean Build Folder performed before each test Product IDs:

com.opencompass.basic.monthly com.opencompass.premium.monthly com.opencompass.tokens.50 com.opencompass.tokens.150 com.opencompass.tokens.500 Code snippet:

let request = SKProductsRequest(productIdentifiers: Set(productIdentifiers)) request.delegate = self request.start()

// Delegate fires, but: // response.products.count == 0 // response.invalidProductIdentifiers == [all 5 IDs] What I've verified:

Bundle ID is correct Paid Apps agreement is signed Products are not in "Missing Metadata" state Device is signed into sandbox account Not running on Simulator Has anyone experienced this with a hybrid/Capacitor app? Is there anything specific about how SKProductsRequest resolves identifiers that could differ in a WKWebView-based architecture? Any help appreciated!

SKProductsRequest returns 0 products — all identifiers reported as invalid (Capacitor hybrid app)
 
 
Q