Guideline 3.1.2: zamietnutá appka kvôli predplatnému
Autor: Mehdi Azizi
Zverejnené , 9 min
Guideline 3.1.2: účtovaná suma musí byť najvýraznejšia cena paywallu, s dĺžkou, obnovou a odkazmi na podmienky. Dve reálne zamietnutia a ich oprava.
Guideline 3.1.2 upravuje automaticky obnovované predplatné. Ak ju Apple cituje, skontroluj dve veci: suma, ktorá sa reálne účtuje, musí byť najvýraznejšia cena na tvojom paywalle, a appka aj jej stránka v App Store musia uvádzať dĺžku, cenu a funkčné odkazy na tvoje podmienky používania a zásady ochrany súkromia.
Toto zamietnutie som dostal na dvoch svojich appkách v októbri 2026: Solys 10., TradaZen 12. Problém bol v rovnakom zobrazení: týždenná cena veľkým písmom, skutočne účtovaná suma malým. Tu je text pravidla, tieto dva prípady a potom checklist, ktorý teraz používam. Ďalšie dôvody nájdeš v článku prečo Apple zamieta appky.
Čo hovorí guideline 3.1.2?
Pravidlo 3.1.2, „Subscriptions“, je v sekcii 3 „Business“ v App Review Guidelines, v časti 3.1 „Payments“. Odtiaľ aj názov v e-maile: „Guideline 3.1.2 - Business - Payments - Subscriptions“. Má tri odseky a písmeno v zátvorke ti povie, kde hľadať.
| Odsek | Čo Apple vyžaduje | Typické zamietnutie |
|---|---|---|
| 3.1.2(a) Permissible uses | Priebežná hodnota, minimálne 7 dní | Predplatné bez obsahu, ktorý sa vyvíja |
| 3.1.2(b) Upgrades and Downgrades | Zmena plánu bez duplicity | Dva plány platené naraz |
| 3.1.2(c) Subscription Information | Čo používateľ dostane a za akú cenu | Prepočítaná cena väčšia než účtovaná |
Text 3.1.2(c) je krátky. Predtým, než niekoho požiadaš o predplatné, musíš „clearly describe what the user will get for the price“: jasne opísať, čo za tú cenu dostane. Potom odkazuje na prílohu 2 (Schedule 2) licenčnej zmluvy vývojárskeho programu. Táto príloha vymenúva, čo musíš zobraziť „clearly and conspicuously“, teda jasne a viditeľne:
- názov predplatného;
- jeho dĺžku;
- jeho cenu, a ak to dáva zmysel, aj cenu za jednotku;
- odkazy na tvoje zásady ochrany súkromia a podmienky používania, dostupné v appke.
Pravidlo o veľkosti cien je na stránke Apple venovanej predplatnému. V nákupnom procese „the amount that will be billed must be the most prominent pricing element in the layout“: suma, ktorá sa strhne, musí byť najvýraznejší cenový prvok. Mesačný ekvivalent alebo úspora sú povolené, ak sú na druhoradom mieste a menšie. Rovnaká stránka pri bezplatnej skúšobnej verzii vyžaduje uviesť jej dĺžku a cenu účtovanú po jej skončení.
Dve zamietnutia 3.1.2(c), ktoré som dostal
Solys: 0,38 € veľkým, 19,99 € malým
Solys je môj budík, ktorý uspí tvoje sociálne siete. Na paywalle v onboardingu ukazovala karta „Ročné“ „0,38 €/týž.“ v 21 bodoch a tučne. Pod tým, v 15 bodoch: „teda 19,99 €/rok“. Lenže strhne sa 19,99 €, nie 0,38 €.
- októbra 2026 Apple verziu zamietol s odkazom na 3.1.2(c). Správa žiada, aby účtovaná suma bola najjasnejší a najvýraznejší cenový prvok. Skúšobná verzia zadarmo, úvodná cena aj prepočítané ceny jej musia zostať podriadené. Apple uvádza svoje kritériá: písmo, veľkosť, farbu a umiestnenie.
Toto zobrazenie som si nechal vedome: predchádzajúcu verziu TradaZen, postavenú na rovnakom princípe, schválili. Bola to stávka a stála ma jeden cyklus revízie.
Oprava: „19,99 €/rok“ veľkým, „teda 0,38 €/týž.“ ako sivý popisok pod tým, vo všetkých 30 jazykoch appky. Paywall je v kóde, takže pred opätovným odoslaním verzie bol potrebný nový build.
TradaZen: rovnaký dôvod o dva dni neskôr
TradaZen je môj simulátor tradingu. 12. októbra 2026 zamietli verziu 1.5.1 kvôli rovnakému pravidlu. Správa hovorí o cene „weekly calculated“ zobrazenej „more clearly and conspicuously than the billed amount“: týždenný ekvivalent bol viditeľnejší než účtovaná suma.
Moja prvá oprava nestačila a všimol som si to ešte pred odoslaním. Zmenšil som „0,92 €/týž“, ale nechal som ho vpravo, v riadku s cenou. Lenže karta týždenného predplatného ukazovala v tom istom stĺpci svoju skutočnú cenu: „8,99 €/týž“. Obe sumy sa čítali na rovnakej úrovni. Prepočítaná cena v stĺpci skutočných cien sa číta ako účtovaná cena, aj keď je malá.
Výsledná oprava: každá karta má účtovanú sumu veľkým vpravo. Týždenná cena je sivý popisok pod ňou. Vľavo je len názov plánu. Pri ďalšej revízii už Apple 3.1.2(c) nevytkol.
Ďalšie lekcie z tejto appky sú v prípadovej štúdii TradaZen.
Čo Apple zamietol a čo prešlo
Tu sú reálne zobrazenia v poradí, s výsledkom.
| Zobrazenie ceny | Výsledok |
|---|---|
| TradaZen, staršia verzia: týždenná cena v popredí | Schválené pri predchádzajúcej revízii |
| Solys: „0,38 €/týž.“ tučne, „19,99 €/rok“ pod tým | Zamietnuté 10. 10. 2026, 3.1.2(c) |
| TradaZen 1.5.1: týždenná cena viditeľnejšia než účtovaná | Zamietnuté 12. 10. 2026, 3.1.2(c) |
| TradaZen: týždenná cena zmenšená, ale v stĺpci cien | Vyradil som to sám pred odoslaním |
| TradaZen: účtovaná veľkým vpravo, týždenná ako popisok | Pri ďalšej revízii už nevytknuté |
| Solys: „19,99 €/rok“ veľkým, týždenná ako sivý popisok | Opravené a znova odoslané Apple |
Najdôležitejší je prvý riadok. Schválená revízia neschvaľuje tvoj paywall pre tú ďalšiu. Každá verzia ide znova pred posudzovateľa, ktorý môže pravidlo čítať prísnejšie ako ten predchádzajúci. Jediné bezpečné zobrazenie je to, ktoré dodržiava text.
Strhnutá suma je jediná cena veľkým písmom. Každý ekvivalent, týždenný, mesačný či denný, je menší a bledší popisok, nikdy nie na jej mieste.
Checklist paywallu v súlade s 3.1.2
Toto je zoznam, ktorý teraz prechádzam na každom paywalle svojich appiek pred každým odoslaním:
- Na každej karte je účtovaná suma najväčšia, najkontrastnejšia a najlepšie umiestnená cena.
- Každá prepočítaná cena (týždenná, mesačná, denná) je popisok, menší a bledší, pod účtovanou sumou.
- Žiadna prepočítaná cena nie je v stĺpci, kde iný plán ukazuje svoju skutočnú cenu.
- Dĺžka je napísaná jasne: „ročne“, „týždenne“.
- Skúšobná verzia zadarmo uvádza svoju dĺžku a sumu účtovanú po jej skončení.
- Jedna veta hovorí, že sa predplatné automaticky obnovuje a ruší sa v nastaveniach Apple účtu.
- To, čo predplatné odomyká, je napísané pred tlačidlom nákupu.
- Na paywalle je viditeľné tlačidlo „Restore Purchases“.
- Odkazy na podmienky používania a zásady ochrany súkromia sú na paywalle a otvárajú sa.
- Ak ponúkaš viac plánov, sú v jednej skupine predplatného, ako odporúča Apple.
- Zobrazenie je overené na najmenšom iPhone a s najdlhšou cenou. Na TradaZen testujem cenu vo vietnamských dongoch: suma, ktorá sa zalomí na ďalší riadok, rozbije hierarchiu.
Ak používaš paywally RevenueCat, dokumentácia RevenueCat varuje pred tým istým: samotná premenná mesačnej ceny nestačí, ak sa účtovaná suma a jej periodicita nezobrazujú inde. Kompletné zapojenie je v článku RevenueCat: nastavenie predplatného v appke a chyby v návrhu v článku iOS paywall: 7 začiatočníckych chýb.
Odkazy na podmienky a súkromie: v appke aj na stránke appky
Druhá forma zamietnutia 3.1.2 nemieri na paywall, ale na metadáta. Správy, ktoré vývojári zverejnili na fórach Apple, upresňujú očakávané miesto: odkaz na zásady ochrany súkromia v príslušnom poli App Store Connect a odkaz na podmienky používania (EULA) v popise alebo v poli EULA.
Pasca je v štandardnej zmluve. Podľa pomocníka App Store Connect, ak nepridáš vlastnú zmluvu, platí štandardná zmluva Apple a „the license agreement link isn't shown on your App Store product page“: na tvojej stránke sa žiadny odkaz neobjaví. Ak používaš štandardnú zmluvu, jej odkaz do popisu musíš dať sám, na svoju stránku s podmienkami alebo na štandardnú licenčnú zmluvu Apple.
Pri appkách s predplatným končím popis dvoma riadkami v každom jazyku stránky. Tu je šablóna, uprav si ju podľa svojej ponuky a domény:
7-dňová skúšobná verzia zadarmo, potom ročné alebo týždenné predplatné,
zrušiteľné kedykoľvek.
Podmienky: https://your-domain.com/terms
Súkromie: https://your-domain.com/privacy
Oba odkazy si pred vložením otvor: nenájdená stránka je to isté ako chýbajúci odkaz. Čo musia zásady obsahovať, nájdeš v článku zásady ochrany súkromia appky a zvyšok stránky appky na stránke ASO App Store.
Toto sa dá opraviť bez nového buildu: popis a polia App Store Connect sú metadáta.
3.1.2(a): predplatné musí prinášať priebežnú hodnotu
Ďalší odsek, kvôli ktorému prichádzajú zamietnutia, mieri na model, nie na obrazovku. 3.1.2(a) vyžaduje „ongoing value“: hodnotu, ktorá trvá v čase. Obdobie trvá aspoň sedem dní a predplatné funguje na všetkých zariadeniach používateľa. Predplatiteľ dostane, za čo zaplatil, bez úlohy navyše, napríklad zverejnenia príspevku na sociálnej sieti.
Ak tvoja appka poskytuje službu raz a navždy, možno sa lepšie hodí jednorazový nákup. Oba modely porovnávam v článku predplatné alebo jednorazový nákup.
Čo odpovedať Apple po zamietnutí 3.1.2
Konverzácia prebieha v sekcii App Review tvojej appky. Postup, ako odpovedať App Review, je rovnaký ako pri iných pravidlách. Môžu nastať dva prípady:
- Problém je v appke (veľkosť cien, údaje na paywalle): treba nový build, ako pri Solys a TradaZen. Posudzovateľ testuje kód zabudovaný v builde, vysvetľujem to v návode ku guideline 2.1.
- Problém je na stránke appky (chýbajúce alebo nefunkčné odkazy): opravíš metadáta, odpovieš a to isté odoslanie ide znova.
Píš po anglicky, stručne: čo bol problém, čo sa zmenilo, ako to overiť. Tu je šablóna, ktorú používam (číslo buildu, ceny a postup nahraď svojimi):
Hello,
Thank you for your review.
Issue: on the paywall, the weekly equivalent price was displayed
more prominently than the billed amount.
Fix in build X:
- Each plan now shows its billed amount (e.g. "€19.99/year")
as the largest price on the card.
- The weekly equivalent is a smaller grey caption below it.
- The paywall states the duration, the auto-renewal, and links
to our Terms of Use and Privacy Policy.
How to verify: launch the app and complete the onboarding.
The paywall appears at the end.
Best regards,
Oprav si paywall pred ďalším odoslaním
Ak ti appku práve zamietli kvôli 3.1.2, Apple Review Kit ti pomôže nájsť citované pravidlo, čo vyžaduje, a príklad opravy aj odpovede. Jeho skilly pre Claude Code navyše pred odoslaním skontrolujú tvoj paywall aj stránku appky. Ak chceš ľudský pohľad, rezervuj si so mnou hodinu: prečítame si správu od Apple a prejdeme tvoj paywall priamo na tvojej obrazovke. Celý postup je na stránke appka zamietnutá Apple a nastavenie predplatného na stránke predplatné v iOS appke.
Ak pripravuješ svoje prvé vydanie, urob si bezplatnú diagnostiku: zoradí ti kroky a pošle ti môj checklist proti zamietnutiu od Apple. Ak chceš vytvoriť mobilnú appku, ktorá zarába hneď od vydania, iOS Kit venuje svoj tretí krok, „zapojiť peniaze“, predplatnému a paywallu.
Nikto ti nemôže zaručiť, že Apple tvoju appku schváli. Môžem ťa však ušetriť zamietnutia 3.1.2(c), ktoré som zaplatil dvakrát.
Často kladené otázky
Čo znamená „Guideline 3.1.2 - Business - Payments - Subscriptions“?
Je to celý názov pravidla o predplatnom. Signalizuje zle hierarchizovanú cenu, chýbajúcu informáciu na paywalle, chýbajúci odkaz na stránke appky alebo predplatné bez priebežnej hodnoty. Písmeno v zátvorke, napríklad 3.1.2(c), označuje dotknutý odsek.
Môžem ešte zobrazovať týždennú alebo mesačnú cenu?
Áno. Apple povoľuje týždenný či mesačný ekvivalent alebo úsporu, ak zostanú menšie a menej viditeľné než skutočne účtovaná suma. V mojich appkách je ekvivalent sivý popisok pod účtovanou cenou, nikdy nie v stĺpci skutočných cien.
Treba po zamietnutí 3.1.2 nový build?
Áno, ak je problém na paywalle, pretože posudzovateľ testuje kód v builde. Nie, ak je na stránke appky, napríklad chýbajúci odkaz v popise: opravíš metadáta a to isté odoslanie ide znova.
Kam dať odkaz na podmienky používania (EULA)?
V appke na paywall. Na stránke appky do popisu alebo do poľa EULA v App Store Connect, ak máš vlastnú zmluvu. So štandardnou zmluvou Apple sa na tvojej stránke žiadny odkaz nezobrazí: pridaj ho sám do popisu, v každom jazyku.
Môj paywall už raz schválili, prečo ho teraz zamietli?
Pretože každá verzia ide znova na revíziu, niekedy k inému posudzovateľovi. Týždennú cenu v popredí schválili na TradaZen, potom ju v októbri 2026 zamietli na Solys aj na TradaZen. Chráni ťa len text pravidla.