Cancellation instructions — how to cancel via device settings
Why it matters
iOS subscriptions are cancelled through device Settings → Apple ID → Subscriptions; Android subscriptions through Google Play. The app cannot provide a direct cancel button, but it must communicate the cancellation path — users who cannot figure out how to cancel file chargebacks, which cost the developer $15–$25 per dispute plus chargeback ratio penalties. Apple guideline 3.1.2 requires that users are informed of how to cancel, and the FTC Negative Option Rule requires that cancellation be "simple." A paywall that says "Cancel anytime" without providing any actual cancellation instructions is deceptive under this standard.
Severity rationale
Medium because absent cancellation instructions generate chargebacks and FTC Negative Option Rule exposure, even though the omission alone is not always an immediate rejection trigger.
Remediation
Add a "Manage Subscription" button to your settings or account screen that opens the platform's subscription management. Include brief cancellation text on the paywall as well.
// SettingsScreen.tsx
import { Platform, Linking } from 'react-native';
const manageSubscription = async () => {
const url = Platform.OS === 'ios'
? 'https://apps.apple.com/account/subscriptions'
: 'https://play.google.com/store/account/subscriptions';
await Linking.openURL(url);
};
<TouchableOpacity onPress={manageSubscription}>
<Text>Manage Subscription</Text>
</TouchableOpacity>
On the paywall, include at minimum: "Cancel anytime in device Settings." This text satisfies Apple's disclosure requirement and, combined with the manage-subscription deep link in settings, gives users a complete cancellation path.
Detection
- ID:
cancellation-instructions - Severity:
medium - What to look for: Count all relevant instances and enumerate each. Subscriptions on iOS are cancelled through device Settings → Apple ID → Subscriptions, and on Android through Google Play → Subscriptions. The app itself cannot provide a cancel button that directly cancels the subscription (except via the
StoreKit.showManageSubscriptions()API on iOS 15+ which opens the system sheet). Check that the app communicates cancellation instructions somewhere accessible to the user. Look for: (1) Text on the paywall such as "Cancel anytime in device Settings" or "Manage subscription in Settings". (2) A settings/account screen with a "Manage Subscription" button that callsStoreKit.showManageSubscriptions()(iOS) or openshttps://play.google.com/store/account/subscriptions(Android) viaLinking.openURL(). (3)ManageSubscriptionsSheetusage in SwiftUI. Failure pattern: the app implies users can "cancel anytime" but provides no path or instructions to actually do so. - Pass criteria: The app communicates where and how to cancel (device settings or a manage-subscription deep link), either on the paywall or in an account/settings screen. At least 1 implementation must be verified.
- Fail criteria: No cancellation instructions anywhere in the app — app says "cancel anytime" but provides no mechanism or instructions to do so.
- Skip (N/A) when: No subscription IAP in the app.
- Detail on fail:
"Paywall says 'Cancel anytime' but no cancellation path or instructions exist in the app — no 'Manage Subscription' button in Settings and no link to device subscription management"or"App provides no mechanism for users to manage or cancel their subscription" - Remediation: Both Apple and Google require that users can access their subscription management. Provide a direct path:
- For iOS, open the system subscription management sheet:
import { Platform, Linking } from 'react-native'; const manageSubscription = async () => { if (Platform.OS === 'ios') { await Linking.openURL('https://apps.apple.com/account/subscriptions'); } else { await Linking.openURL('https://play.google.com/store/account/subscriptions'); } }; - Add "Manage Subscription" to your Settings or Account screen
- Include brief cancellation instructions on the paywall (even just "Cancel anytime in Settings")
- For iOS, open the system subscription management sheet:
External references
- external · apple-guideline-3.1.2 — Apple App Store Review Guidelines § 3.1.2 — Subscriptions (cancellation mechanism requirement)
- external · ftc-negative-option-rule — FTC Negative Option Rule — Simple cancellation mechanism required (16 CFR Part 425)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from app-store-iap-subscriptions·automated