Guideline 3.1.1
Guideline 3.1.1 - In-App Purchase: Redeem Codes for Digital Content
Our Take
Apple is rejecting your app because it uses redeem codes, promo codes, or coupon codes to unlock digital content, features, discounts, or services — bypassing Apple's In-App Purchase system. This includes any mechanism where users enter a code to receive digital goods that would otherwise require an IAP.
This is distinct from the general 3.1.1 rejection about external payment methods. Apple specifically flags redeem code systems because they're often used to circumvent the 30% commission. The fix is different too: Apple provides official offer codes and promotional offers through App Store Connect that serve the same purpose compliantly.
Note: Codes for physical goods, cross-platform account features, or codes specifically provided by Apple (offer codes) are generally acceptable.
Resolution Guide
Replace with Apple Offer Codes
Use App Store Connect to create subscription offer codes. Users redeem these through the App Store, and you get notified via StoreKit. This is Apple's sanctioned replacement.
Use Promotional Offers
For existing subscribers, use StoreKit promotional offers to provide discounts on renewals or upgrades. These are signed server-side.
Use Introductory Offers
For new subscribers, configure introductory offers (free trials, pay-up-front, pay-as-you-go) in App Store Connect.
Remove the code entry UI
Remove any text fields, screens, or flows for entering redemption codes for digital content.
Physical goods exception
If codes are for physical goods or services (not consumed in-app), they may be acceptable. Clarify this in your appeal if applicable.
Prevention
Example Rejection Email
Before & After
Settings screen with 'Enter Promo Code' field that unlocks premium features when a valid code is entered
Removed promo code field; premium access offered via StoreKit subscription with App Store Connect offer codes for promotional distribution
What changed: Replace custom code redemption with Apple's official offer code system, which routes through the App Store
Community Solutions · 0
Sign in to share your solution.
More Guideline 3 (Business) rejections
- Guideline 3.0 - Business: Irrationally High Pricing
- Guideline 3.1.1 - In-App Purchase: Expiring Virtual Currency
- Guideline 3.1.1 - In-App Purchase: External Link for Digital Content in Reader App Without Entitlement
- Guideline 3.1.1 - In-App Purchase: License Key or Serial Number Unlocks
- Guideline 3.1.1 - In-App Purchase: Loot Boxes Without Disclosed Odds
- Guideline 3.1.1 - In-App Purchase: Missing Restore Purchases Button