Guideline 3.1.2: aplikacija odbijena zbog pretplate
Autor: Mehdi Azizi
Objavljeno , 9 min
Guideline 3.1.2: naplaćeni iznos mora biti najvidljivija cijena paywalla, uz trajanje, obnovu i linkove na uvjete. Dva stvarna odbijanja i popravak.
Guideline 3.1.2 uređuje pretplate koje se automatski obnavljaju. Ako je Apple citira, provjeri dvije stvari: iznos koji se stvarno naplaćuje mora biti najvidljivija cijena na tvom paywallu, a aplikacija i njezina stranica u App Storeu moraju navesti trajanje, cijenu i ispravne linkove na tvoje uvjete korištenja i politiku privatnosti.
Ovo sam odbijanje dobio na dvije svoje aplikacije u listopadu 2026.: Solys 10., TradaZen 12. Problem je bio isti prikaz: tjedna cijena velikim slovima, stvarni naplaćeni iznos sitno. Evo teksta pravila, ta dva slučaja i check-liste koju sada primjenjujem. Za ostale razloge pročitaj zašto Apple odbija aplikaciju.
Što kaže guideline 3.1.2?
3.1.2, „Subscriptions“, nalazi se u odjeljku 3 „Business“ dokumenta App Review Guidelines, u dijelu 3.1 „Payments“. Odatle naslov e-maila: „Guideline 3.1.2 - Business - Payments - Subscriptions“. Ima tri podtočke, a slovo u zagradi govori ti gdje tražiti.
| Podtočka | Što Apple traži | Tipično odbijanje |
|---|---|---|
| 3.1.2(a) Permissible uses | Stalna vrijednost, najmanje 7 dana | Pretplata bez sadržaja koji se razvija |
| 3.1.2(b) Upgrades and Downgrades | Promjena plana bez dupliciranja | Dva plana plaćena istovremeno |
| 3.1.2(c) Subscription Information | Što korisnik dobiva i po kojoj cijeni | Izračunata cijena veća od naplaćene |
Tekst 3.1.2(c) je kratak. Prije nego što nekoga zamoliš da se pretplati, moraš „clearly describe what the user will get for the price“: jasno opisati što dobiva za tu cijenu. Zatim upućuje na dodatak 2 (Schedule 2) licence programa za developere. Taj dodatak navodi što moraš prikazati „clearly and conspicuously“, jasno i uočljivo:
- naziv pretplate;
- njezino trajanje;
- njezinu cijenu, i cijenu po jedinici ako je relevantno;
- linkove na tvoju politiku privatnosti i uvjete korištenja, dostupne u aplikaciji.
Pravilo o veličini cijena nalazi se na Appleovoj stranici posvećenoj pretplatama. U procesu kupnje „the amount that will be billed must be the most prominent pricing element in the layout“: iznos koji će biti naplaćen mora biti najistaknutiji element cijene. Mjesečni ekvivalent ili ušteda i dalje su dopušteni, pod uvjetom da su u sporednom položaju i manji. Ista stranica traži da za besplatno probno razdoblje navedeš njegovo trajanje i cijenu koja se naplaćuje na kraju.
Dva odbijanja 3.1.2(c) koja sam dobio
Solys: 0,38 € velikim slovima, 19,99 € sitno
Solys je moja budilica koja uspavljuje tvoje društvene mreže. Na paywallu u onboardingu kartica „Godišnje“ prikazivala je „0,38 €/tj.“ u 21 točki i podebljano. Ispod, u 15 točaka: „tj. 19,99 €/god.“. A naplaćuje se 19,99 €, ne 0,38 €.
Apple je 10. listopada 2026. odbio verziju citirajući 3.1.2(c). Poruka traži da naplaćeni iznos bude najjasniji i najvidljiviji element cijene. Besplatno probno razdoblje, uvodna cijena i izračunate cijene moraju mu ostati podređeni. Apple navodi svoje kriterije: font, veličinu, boju i položaj.
Taj sam prikaz zadržao svjesno: prethodna verzija TradaZena, izrađena po istom principu, bila je prihvaćena. Bila je to oklada i stajala me jedan krug revizije.
Popravak: „19,99 €/god.“ velikim slovima, „tj. 0,38 €/tj.“ kao sivi opis ispod, na svih 30 jezika aplikacije. Budući da je paywall u kodu, trebao je novi build prije ponovnog slanja verzije.
TradaZen: isti razlog, dva dana kasnije
TradaZen je moj simulator tradinga. 12. listopada 2026. verzija 1.5.1 odbijena je zbog istog pravila. Poruka govori o cijeni „weekly calculated“ prikazanoj „more clearly and conspicuously than the billed amount“: tjedni ekvivalent bio je vidljiviji od naplaćenog iznosa.
Moj prvi popravak nije bio dovoljan, i to sam vidio prije slanja. Smanjio sam „0,92 €/tj.“, ali sam ga ostavio desno, u retku cijene. No kartica tjedne pretplate u istom je stupcu prikazivala svoju stvarnu cijenu: „8,99 €/tj.“. Oba su se iznosa čitala kao ravnopravna. Izračunata cijena smještena u stupac stvarnih cijena čita se kao naplaćena cijena, čak i kad je sitna.
Konačni popravak: svaka kartica ima svoj naplaćeni iznos velikim slovima, desno. Tjedna cijena postaje sivi opis ispod. Lijevo samo naziv plana. Na sljedećoj reviziji Apple više nije spomenuo 3.1.2(c).
Ostale lekcije iz ove aplikacije nalaze se u studiji slučaja TradaZen.
Što je Apple odbio, a što je prošlo
Evo stvarnih prikaza, redom, s ishodom.
| Prikaz cijene | Ishod |
|---|---|
| TradaZen, ranija verzija: tjedna cijena u prvom planu | Prihvaćeno na ranijoj reviziji |
| Solys: „0,38 €/tj.“ podebljano, „19,99 €/god.“ ispod | Odbijeno 10. 10. 2026., 3.1.2(c) |
| TradaZen 1.5.1: tjedna cijena vidljivija od naplaćene | Odbijeno 12. 10. 2026., 3.1.2(c) |
| TradaZen: smanjena tjedna cijena, ali u stupcu cijena | Sam sam ga odbacio prije slanja |
| TradaZen: naplaćeni iznos velikim slovima desno, tjedna kao opis | Više nije spomenuto na sljedećoj reviziji |
| Solys: „19,99 €/god.“ velikim slovima, tjedna kao sivi opis | Ispravljeno i ponovno poslano Appleu |
Prvi redak je najvažniji. Prihvaćena revizija ne potvrđuje tvoj paywall za sljedeću. Svaka verzija ponovno ide pred recenzenta, koji pravilo može tumačiti strože od prethodnog. Jedini siguran prikaz je onaj koji poštuje tekst.
Naplaćeni iznos jedina je cijena velikim slovima. Svaki ekvivalent, tjedni, mjesečni ili dnevni, manji je i blijeđi opis, nikad na njegovu mjestu.
Check-lista za paywall u skladu s 3.1.2
Ovo je popis koji sada prolazim na svakom paywallu svojih aplikacija, prije svakog slanja:
- Na svakoj kartici naplaćeni iznos je najveća, najkontrastnija i najbolje smještena cijena.
- Svaka izračunata cijena (tjedna, mjesečna, dnevna) je opis, manja i blijeđa, ispod naplaćenog iznosa.
- Nijedna izračunata cijena ne zauzima stupac u kojem drugi plan prikazuje svoju stvarnu cijenu.
- Trajanje je jasno napisano: „godišnje“, „tjedno“.
- Besplatno probno razdoblje navodi svoje trajanje i iznos koji se naplaćuje na kraju.
- Jedna rečenica kaže da se pretplata automatski obnavlja i otkazuje u postavkama Apple računa.
- Ono što pretplata otključava napisano je prije gumba za kupnju.
- Gumb „Restore Purchases“ vidljiv je na paywallu.
- Linkovi na uvjete korištenja i politiku privatnosti nalaze se na paywallu i otvaraju se.
- Ako nudiš više planova, oni su u jednoj grupi pretplata, kako Apple savjetuje.
- Prikaz je provjeren na najmanjem iPhoneu i s najduljom cijenom. Na TradaZenu testiram cijenu u vijetnamskim dongovima: iznos koji prelazi u novi red ruši hijerarhiju.
Ako koristiš RevenueCatove paywallove, RevenueCatova dokumentacija daje isto upozorenje: sama varijabla mjesečne cijene nije dovoljna ako se naplaćeni iznos i njegova periodičnost ne pojavljuju negdje drugdje. Kompletno povezivanje opisano je u RevenueCat: postavljanje in-app pretplate, a greške u dizajnu u iOS paywall: 7 početničkih grešaka.
Linkovi na uvjete i privatnost: u aplikaciji i na stranici aplikacije
Drugi oblik odbijanja 3.1.2 ne cilja paywall, nego metapodatke. Poruke koje su developeri objavili na Appleovim forumima preciziraju očekivano mjesto: link na politiku privatnosti u predviđenom polju u App Store Connectu, a link na uvjete korištenja (EULA) u opisu ili u polju EULA.
Zamka dolazi od standardnog ugovora. Prema pomoći za App Store Connect, ako ne dodaš prilagođeni ugovor, primjenjuje se Appleov standardni ugovor i „the license agreement link isn't shown on your App Store product page“: na tvojoj stranici ne pojavljuje se nikakav link. Ako koristiš standardni ugovor, na tebi je da njegov link staviš u opis, prema svojoj stranici s uvjetima ili prema Appleovom standardnom licencnom ugovoru.
Na svojim aplikacijama s pretplatom opis završavam s dva retka, na svakom jeziku stranice. Evo predloška, prilagodi ga svojoj ponudi i domeni:
Besplatno probno razdoblje od 7 dana, zatim godišnja ili tjedna pretplata,
koju možeš otkazati u bilo kojem trenutku.
Uvjeti: https://your-domain.com/terms
Privatnost: https://your-domain.com/privacy
Otvori oba linka prije nego što ih zalijepiš: stranica koja ne postoji vrijedi kao link koji nedostaje. Što politika mora sadržavati detaljno je opisano u politika privatnosti aplikacije, a ostatak stranice aplikacije na stranici ASO App Store.
Ovo se ispravlja bez novog builda: opis i polja u App Store Connectu su metapodaci.
3.1.2(a): pretplata mora donositi stalnu vrijednost
Druga podtočka zbog koje dolazi do odbijanja cilja model, ne ekran. 3.1.2(a) traži „ongoing value“: vrijednost koja traje kroz vrijeme. Razdoblje traje najmanje sedam dana, a pretplata radi na svim korisnikovim uređajima. Pretplatnik dobiva ono što je platio bez dodatnih zadataka, poput objavljivanja na društvenoj mreži.
Ako tvoja aplikacija pruža uslugu jednom zauvijek, jednokratna kupnja možda bolje odgovara. Oba modela uspoređena su u pretplata ili jednokratna kupnja.
Što odgovoriti Appleu nakon odbijanja 3.1.2
Razgovor se vodi u odjeljku App Review tvoje aplikacije. Postupak za odgovaranje App Reviewu isti je kao i za ostala pravila. Moguća su dva slučaja:
- Problem je u aplikaciji (veličina cijena, napomene na paywallu): treba novi build, kao za Solys i TradaZen. Recenzent testira ugrađeni kod, to objašnjavam u vodiču o guidelineu 2.1.
- Problem je na stranici aplikacije (linkovi koji nedostaju ili ne rade): ispraviš metapodatke, odgovoriš i ista prijava ide dalje.
Piši na engleskom, jednostavno: što je bio problem, što se promijenilo, kako to provjeriti. Evo predloška koji koristim (zamijeni broj builda, cijene i put kroz aplikaciju svojima):
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,
Ispravi svoj paywall prije sljedećeg slanja
Ako je tvoja aplikacija upravo odbijena zbog 3.1.2, Apple Review Kit pomaže ti pronaći citirano pravilo, što ono traži te primjer ispravka i odgovora. Njegovi Claude Code skillovi također pregledavaju tvoj paywall i stranicu aplikacije prije slanja. Ako želiš ljudski pogled, rezerviraj sat vremena sa mnom: pročitamo Appleovu poruku i prođemo tvoj paywall na tvom ekranu. Cijeli postupak nalazi se na stranici aplikacija koju je Apple odbio, a postavljanje pretplate na stranici iOS in-app pretplata.
Ako pripremaš svoje prvo izdanje, napravi besplatnu dijagnostiku: posložit će korake redom i poslati ti moju check-listu protiv Appleovih odbijanja. Da napraviš mobilnu aplikaciju koja zarađuje od prvog dana, iOS Kit svoj treći korak, „spajanje novca“, posvećuje pretplati i paywallu.
Nitko ne može jamčiti da će Apple prihvatiti tvoju aplikaciju. Ono što ja mogu jest poštedjeti te odbijanja 3.1.2(c) koje sam platio dvaput.
Česta pitanja
Što znači „Guideline 3.1.2 - Business - Payments - Subscriptions“?
To je puni naziv pravila o pretplatama. Upućuje na loše posloženu hijerarhiju cijena, informaciju koja nedostaje na paywallu, link koji nedostaje na stranici aplikacije ili pretplatu bez stalne vrijednosti. Slovo u zagradi, na primjer 3.1.2(c), označava o kojoj je podtočki riječ.
Smijem li i dalje prikazivati tjednu ili mjesečnu cijenu?
Da. Apple dopušta tjedni ili mjesečni ekvivalent, ili uštedu, pod uvjetom da ostanu manji i manje vidljivi od stvarno naplaćenog iznosa. Na mojim aplikacijama ekvivalent je sivi opis ispod naplaćene cijene, nikad u stupcu stvarnih cijena.
Treba li novi build nakon odbijanja 3.1.2?
Da, ako je problem na paywallu, jer recenzent testira ugrađeni kod. Ne, ako je na stranici aplikacije, na primjer link koji nedostaje u opisu: ispraviš metapodatke i ista prijava ide dalje.
Gdje staviti link na uvjete korištenja (EULA)?
U aplikaciji, na paywallu. Na stranici aplikacije, u opisu ili u polju EULA u App Store Connectu ako imaš prilagođeni ugovor. Uz Appleov standardni ugovor na tvojoj se stranici ne prikazuje nikakav link: dodaj ga sam u opis, na svakom jeziku.
Moj paywall je već bio prihvaćen, zašto je sada odbijen?
Zato što svaka verzija ponovno prolazi reviziju, ponekad kod drugog recenzenta. Istaknuta tjedna cijena bila je prihvaćena na TradaZenu, a zatim odbijena na Solysu i TradaZenu u listopadu 2026. Štiti te samo tekst pravila.