I'm investigating a price/currency mismatch in a TestFlight app.
Environment:
iPhone 15, iOS 26.6.2
App version 0.4.2 (Build 47), distributed through TestFlight
Consumable product ID: line_stamp_8pack_1980
Diagnostic comparison: October 5, 2026, at 11:22:47 JST (UTC+09:00)
For the same product, all three product lookup paths returned price 11.99, currency USD, and display price $11.99:
StoreKit 1: SKProductsRequest / SKProduct
StoreKit 2: Product.products(for:)
expo-iap: fetchProducts
The direct StoreKit calls were made through native Swift diagnostics in the app. All three lookups succeeded without errors.
StoreKit 2 reported storefront country USA and ID 143462 before and after its lookup. expo-iap also reported USA before and after its lookup.
StoreKit 1's storefront was unavailable before its request. Afterward, it reported USA, with storefront identifier "143462-9,29". Our diagnostic initially labeled this as a storefront change, but an unavailable-to-available result does not establish an actual country change.
During the same testing session, Apple's purchase confirmation sheet for this product displayed ¥1,980 and stated that the purchase was for testing only. I canceled the sheet without completing the purchase.
The Media & Purchases account's country/region is Japan. App Store Connect pricing for this product is ¥1,980 in Japan and $11.99 in the United States.
What could cause the product lookup APIs to return the US storefront price while the purchase confirmation sheet displays the Japanese price?
What additional diagnostics should I collect to identify the cause and obtain a product price consistent with the purchase sheet?
Thank you.
0
0
239