Displaying an annual plan as "$4.17/month" in 24pt font with "$49.99 billed annually" in 10pt gray text misrepresents the actual charge in a way that triggers Apple App Store Review Guidelines, the FTC Negative Option Rule, and EU Digital Services Act provisions on dark patterns. Countdown timers with no genuine time-limited offer attached are classified as manipulative urgency patterns under multiple regulatory frameworks. Beyond regulatory risk, misleading pricing erodes user trust: users who feel deceived by a pricing screen leave negative reviews and request refunds at higher rates, directly impacting the app's store rating and refund ratio.
High because misleading pricing presentation triggers Apple guideline 3.1.2 rejection and regulatory exposure under the FTC Negative Option Rule and EU dark-patterns provisions.
Display the true billing amount and period with equal visual prominence to any per-month equivalent. Remove countdown timers unless they correspond to a genuinely time-limited promotional offer configured in App Store Connect.
For annual plans, show both figures at comparable text sizes:
// AnnualPlanCard.tsx
<Text style={styles.price}>{annualPrice}/year</Text>
<Text style={styles.subtext}>= {monthlyEquivalent}/month</Text>
<Text style={styles.terms}>Billed as {annualPrice} annually. Auto-renews. Cancel anytime.</Text>
Post-trial price must exactly match what was disclosed on the paywall — fetch both from the same SDK call (Purchases.getOfferings()) rather than computing them separately. Any "Save X%" claim must be based on a price that was actually charged — not a fabricated reference price.
ID: app-store-iap-subscriptions.pricing-compliance.no-misleading-pricing
Severity: high
What to look for: Count all relevant instances and enumerate each. Look for pricing presentation patterns that could mislead the user about the true cost. Specific patterns to check: (1) Annual plan displayed as a "per month" equivalent without clearly indicating annual billing — "$4.17/month" in large text when the user is actually charged $49.99 annually, without the annual total prominently displayed. (2) Highlighting a discounted price (e.g., "Save 40%") without showing both the original and discounted prices. (3) A free tier that has hidden conversion points — e.g., core features gated behind a paywall not disclosed in the app's store listing. (4) "Limited time offer" or countdown timers used to create artificial urgency (dark pattern — explicitly prohibited in some regional regulations and strongly discouraged by Apple). (5) Showing a crossed-out "original price" for a discount where the original price was never actually charged (fake MSRP discounts). (6) Trial period that auto-converts at a higher price than shown on the paywall. Check all pricing labels for visual hierarchy that minimizes the actual price while maximizing a perceived deal.
Pass criteria: All pricing elements are honest, the true billing amount and period are the most prominent pricing information displayed, no artificial urgency timers, and the paywall accurately represents what the user will be charged.
Fail criteria: Annual plan displayed only as a monthly equivalent without showing the actual annual charge; countdown timers creating artificial urgency; crossed-out fake "original prices"; post-trial price differs from what was disclosed.
Skip (N/A) when: No IAP in the app.
Detail on fail: "AnnualPlanCard.tsx shows '$4.16/month' in 24pt font and '$49.99 billed annually' in 10pt gray text — the actual charge is visually subordinated to the monthly equivalent in a potentially misleading way" or "Paywall shows a 72-hour countdown timer with no evidence of a real time-limited offer — artificial urgency pattern"
Remediation: Apple's App Store Review Guidelines explicitly prohibit manipulative pricing practices. Beyond guidelines, these patterns also attract regulatory attention in the EU and US.
Review the configuration in src/ or app/ directory for implementation patterns.