Prices displayed in local currency using store pricing tiers
Why it matters
Hardcoded price strings like "$9.99/month" display the wrong currency and wrong amount to users in other countries — App Store pricing tiers mean a US $9.99 subscription may be priced at £7.99, €9.99, ¥1,500, or A$14.99 depending on the market. Showing a US price to an Australian user who is actually charged A$14.99 is a misrepresentation of the cost that violates both Apple guideline 3.1.1 and consumer protection laws in many jurisdictions. Apple's and Google's IAP SDKs return a localizedPrice string already formatted in the user's local currency — there is no reason to hardcode prices.
Severity rationale
Low because hardcoded prices cause incorrect currency display in non-US markets but are unlikely to trigger rejection on their own — however they do expose the developer to consumer protection complaints.
Remediation
Replace all hardcoded price strings with the localizedPrice (or equivalent) returned by the platform IAP SDK at runtime. Never define a price constant as a string in src/constants/pricing.ts or equivalent.
// RevenueCat — correct
const price = offering?.monthly?.product.priceString; // "$9.99" or "£7.99" etc.
// react-native-iap — correct
const price = product.localizedPrice;
// Never do this:
const price = '$9.99'; // wrong for non-US markets
// Show a loading state while fetching, not a hardcoded fallback:
const displayPrice = price ?? 'Loading...';
Also avoid using prices fetched from your own backend — your backend does not know the user's App Store region or currency, and its pricing may lag behind changes made in App Store Connect.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the App Store IAP & Subscriptions Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- external · apple-guideline-3.1.1 — Apple App Store Review Guidelines § 3.1.1 — In-App Purchase (localized pricing from platform SDK)
- external · google-play-billing-policy — Google Play Billing Policy — Pricing and currency requirements
Taxons
History
- 2026-04-18·v1.0.0·Initial import from app-store-iap-subscriptions·automated