Vrátenie peňazí v App Store: čo vidí vývojár
Autor: Mehdi Azizi
Zverejnené , 8 min
O vrátení peňazí v App Store rozhoduje len Apple. Vývojár dostane CONSUMPTION_REQUEST, môže odpovedať do 12 h a o rozhodnutí sa dozvie cez REFUND.
V App Store vrátenie peňazí schvaľuje alebo zamieta Apple, nikdy nie vývojár. Zákazník o ne požiada na webe Apple alebo priamo z tvojej appky. Ak máš zapojené serverové notifikácie od Apple, v momente žiadosti dostaneš notifikáciu CONSUMPTION_REQUEST a pri rozhodnutí potom REFUND alebo REFUND_DECLINED. Medzi tým máš 12 hodín na to, aby si poslal údaje o spotrebe a svoju preferenciu, ale len ak s tým zákazník súhlasil.
Schválené vrátenie peňazí odoberie nákup z aktívnych oprávnení zákazníka a v reportoch predaja sa zobrazí ako záporná položka. Tento návod rozoberá každý krok, čo môžeš Apple poslať a čo smieš robiť proti zneužívaniu. Pravidlá pochádzajú zo stránok Apple, ktoré som prečítal 3. novembra 2026. Skutočný prípad pochádza z upozornenia, ktoré som si na svoje appky zapojil v októbri.
Kto rozhoduje o vrátení peňazí v App Store?
Apple, a iba Apple. Stránka podpory Apple popisuje postup zákazníka: prihlási sa na reportaproblem.apple.com, zvolí „Request a refund“, uvedie dôvod a potom vyberie konkrétny nákup. Apple mu odporúča počkať na odpoveď 24 až 48 hodín.
Zákazník môže o vrátenie peňazí požiadať aj z tvojej appky. StoreKit na to ponúka žiadosť v samostatnom okne, dostupnú od iOS 15. Apple odporúča vyvolať ju z nastavení účtu alebo z menu pomoci. Zobrazí nákup a zoznam dôvodov a Apple potrebuje na rozhodnutie až 48 hodín.
V oboch prípadoch nič neschvaľuješ. Môžeš len poskytnúť informácie a preferenciu, ktoré sú jedným z viacerých kritérií, podľa ktorých Apple rozhoduje.
Čo kto vidí, krok za krokom
| Krok | Strana zákazníka | Strana vývojára |
|---|---|---|
| Žiadosť | Formulár Apple alebo okno v appke | Notifikácia CONSUMPTION_REQUEST |
| Do 12 hodín | Čaká | Môžeš poslať údaje o spotrebe |
| Do 48 hodín | Odpoveď od Apple | Notifikácia REFUND alebo REFUND_DECLINED |
| Po schválení | Peniaze sa vrátia na jeho platobnú metódu | Nákup zmizne z aktívnych oprávnení, záporné jednotky |
| Po námietke | Apple vrátenie peňazí zruší | Notifikácia REFUND_REVERSED, treba obnoviť prístup |
App Store Connect ti v Sales and Trends ukáže len už schválené vrátenia peňazí. Samotná žiadosť prichádza iba cez serverové notifikácie. Bez nich sa o vrátení peňazí dozvieš až dodatočne.
Serverové notifikácie pri vrátení peňazí
App Store Server Notifications V2 posielajú päť typov, ktoré sú tu užitočné. Prichádzajú na HTTPS adresu, ktorú si zadal v App Store Connect, jednu pre produkciu a jednu pre sandbox.
| Notifikácia | Čo oznamuje | Čo urobíš |
|---|---|---|
CONSUMPTION_REQUEST | Zákazník žiada o vrátenie peňazí | Odpovieš do 12 hodín, ak máš súhlas |
REFUND | Apple transakciu preplatil | Odoberieš preplatený obsah alebo prístup |
REFUND_DECLINED | Apple žiadosť zamietol | Nič, prístup pokračuje |
REFUND_REVERSED | Apple zrušil vrátenie peňazí po námietke zákazníka | Obnovíš to, čo si odobral |
REVOKE | Nákup zdieľaný cez Rodinné zdieľanie už nie je k dispozícii | Odoberieš prístup členovi rodiny |
Tvoj server musí odpovedať HTTP kódom od 200 do 206. Podľa stránky o odpovediach na notifikácie to Apple inak skúsi ešte päťkrát, 1, 12, 24, 48 a potom 72 hodín po predchádzajúcom pokuse. V sandboxe posiela len raz.
Consumption API: čo môžeš povedať Apple
Keď žiadosť príde, môžeš odpovedať cez Send Consumption Information. Pravidlo sa zmestí do jednej vety od Apple: „Respond within 12 hours of receiving the CONSUMPTION_REQUEST notification.“ Verzia 2 API platí pre všetky typy produktov vrátane predplatného.
Polia požiadavky:
| Pole | Povinné | Čo hovorí Apple |
|---|---|---|
customerConsented | Áno | Zákazník súhlasil so zdieľaním svojich údajov |
deliveryStatus | Áno | Nákup bol doručený a funguje, alebo prečo nebol doručený |
sampleContentProvided | Áno | Pred nákupom bola k dispozícii skúška, ukážka alebo popis |
consumptionPercentage | Nie | Spotrebovaná časť, od 0 do 100 000 pre 0 až 100 % |
refundPreference | Nie | Tvoja preferencia: DECLINE, GRANT_FULL alebo GRANT_PRORATED |
Dôležité sú dve veci. Ak deliveryStatus nie je DELIVERED, spotrebovaná časť musí byť nula. A pri pomernom vrátení peňazí za predplatné spotrebovanú časť vynecháš: Apple si ju vypočíta sám.
Súhlas je podmienkou všetkého. Apple píše: „You must obtain valid consent from the customer before sharing their personal data with Apple in the Send Consumption Information API.“ Bez súhlasu neodpovedáš. Apple tiež zakazuje získavať tento súhlas cez okno sledovania reklám: „Don't use the AppTrackingTransparency prompt to obtain consent“.
Ak používaš RevenueCat
S RevenueCat prijíma notifikácie od Apple a odpovedá na žiadosť práve on, cez Refund Control. Vyberáš si zo štyroch politík: uprednostniť úplné vrátenie peňazí, uprednostniť zamietnutie, posielať len údaje o spotrebe, alebo neodpovedať.
Zapnutím zdieľania údajov potvrdzuješ, že máš súhlas svojich zákazníkov. RevenueCat to hovorí sám: „Enabling consumption data sharing confirms that you obtained consent from your Customers.“ Odporúča tiež vyhradiť „Prefer no refund“ pre cielenú skupinu a upozorní ťa, keď sa táto preferencia týka väčšiny tvojich zákazníkov.
Ak chceš notifikácie dostávať aj na vlastný server, RevenueCat ponúka v nastaveniach appky pole „Apple Server Notification Forwarding URL“. Je popísané na jeho stránke o notifikáciách od Apple. Presne to používam ja. Nastavenie predplatného s RevenueCat nájdeš v článku RevenueCat a in-app predplatné na iOS.
Vplyv na tvoje príjmy a na predplatné
Na prístup. Podľa dokumentácie k currentEntitlements „Products that the App Store has refunded or revoked don't appear in the current entitlements“. Ak tvoja appka overuje oprávnenia cez currentEntitlements, preplatený prístup zmizne sám. Transakcia nesie dátum a dôvod odobratia v revocationDate a revocationReason.
Na reporty. Podľa pomocníka k reportu predaja sa vrátenie peňazí zobrazí so zápornými jednotkami a zápornou cenou pre zákazníka. Pri predplatnom stránka o údajoch o predplatnom počíta úplné aj čiastočné vrátenia peňazí medzi udalosti a odpočítava ich z denných jednotiek.
Na tvoju reputáciu. Guideline 5.6.4 uvádza nadmerné žiadosti o vrátenie peňazí medzi znakmi nedostatočnej kvality. Vysoká miera vrátení nie je len strata peňazí: Apple ju môže zohľadniť pri posudzovaní, či dodržiavaš kódex správania.
Môj prípad: upozornenie zapojené na moje appky
-
októbra 2026 som si na appky zapojil upozornenie. RevenueCat preposiela notifikácie od Apple na route na devoria.fr. Tá overí podpis Apple a potom mi pošle upozornenie, bez sumy. Chcel som vidieť žiadosť v momente, keď príde, nielen výsledok.
-
októbra prišla prvá skutočná žiadosť na TradaZen, môj simulátor tradingu. Ročné predplatné, zaplatené na konci 7-dňovej skúšky zadarmo. Uvedený dôvod: neúmyselný nákup. Tri ponaučenia:
-
Tá istá žiadosť môže prísť viackrát. V ten istý večer som dostal to isté upozornenie trikrát. Odvtedy sa každé upozornenie deduplikuje podľa typu notifikácie a ID transakcie.
-
Rozhodnutie prišlo za menej ako deň. Apple žiadosť zamietol asi 22 hodín po jej podaní. Zákazník si prístup ponechal.
-
Zamietnutie nie je koniec. Ten istý zákazník podal novú žiadosť o dva dni neskôr, na tú istú transakciu.
Žiadosť kvôli „neúmyselnému nákupu“ na konci skúšky nevyhráš odpoveďou pre Apple. Predchádza sa jej na paywalle, pred prvou platbou.
Ako obmedziť zneužívanie bez porušenia pravidiel
Čo je dovolené:
- Odpovedať na každú žiadosť presnými údajmi, ak zákazník súhlasil.
- Vyjadriť cielenú preferenciu, napríklad zamietnutie pri už spotrebovanom nákupe, namiesto zamietnutia pre všetkých.
- Priradiť každý
REFUNDk zákazníckemu účtu. Stránka Apple o notifikáciách vrátenia peňazí to odporúča na odhalenie opakovaných vrátení. - Pred nákupom jasne povedať, čo si zákazník kupuje. Guideline 3.1.2(c) vyžaduje popísať, čo používateľ za danú cenu dostane, skôr než mu ponúkneš predplatné.
Čo je zakázané:
- Posielať nepravdivé údaje, aby bola žiadosť zamietnutá, alebo odpovedať bez súhlasu.
- Získavať súhlas cez okno sledovania reklám, čo Apple výslovne vylučuje.
- Nastražiť pascu pri nákupe. Guideline 5.6 zakazuje tlačiť zákazníkov do nechcených nákupov alebo účtovať niečo, čo nebolo doručené.
- Vyvíjať nátlak na zákazníka, ktorý žiada o vrátenie peňazí. To isté pravidlo vyžaduje rešpekt v zákazníckej podpore, bez zastrašovania.
Najlepšia páka je stále na začiatku: paywall, ktorý uvádza cenu, dátum prvej platby a spôsob zrušenia. Chyby, ktorým sa vyhnúť, nájdeš v článku chyby na paywalle a pravidlá skúšky v článku skúška zadarmo v App Store.
Testovanie pred produkciou
Podľa stránky o testovaní žiadostí sandbox aj StoreKit testy v Xcode podporujú žiadosti o vrátenie peňazí. V sandboxe akýkoľvek dôvod spustí automatické schválenie. Ak chceš simulovať zamietnutie, zvoľ „Other“ a napíš DECLINE. Pre pomerné vrátenie peňazí napíš GRANT_PRORATED. V sandboxe musí tvoja odpoveď o spotrebe odísť do piatich minút.
Predplatné, pri ktorom sa menej vracajú peniaze
iOS & Android Kit vychádza z kódu mojich appiek, s už naprogramovaným onboardingom, paywallom a predplatným, a v štyroch krokoch ťa vlastným tempom dovedie až do App Store. Kompletné nastavenie je popísané na stránke in-app predplatné na iOS a pravidlá Apple pre predplatné v článku guideline 3.1.2.
Skôr než spustíš paywall, urob si bezplatnú diagnostiku: povie ti, čo tvoj projekt naozaj brzdí, a pošle ti môj checklist proti zamietnutiu od Apple.
Často kladené otázky
Môže vývojár zamietnuť vrátenie peňazí v App Store?
Nie. Rozhoduje iba Apple. Môžeš poslať údaje o spotrebe a preferenciu, napríklad DECLINE, ktoré sú jedným z viacerých kritérií. Posledné slovo má Apple.
Dozvie sa vývojár o žiadosti o vrátenie peňazí?
Áno, ak má zapojené App Store Server Notifications V2. Apple pošle CONSUMPTION_REQUEST v momente žiadosti a potom REFUND alebo REFUND_DECLINED pri rozhodnutí. Bez notifikácií vidíš v reportoch len schválené vrátenia peňazí.
Ako dlho Apple vybavuje žiadosť o vrátenie peňazí?
Zákazníkovi Apple uvádza 24 až 48 hodín. Dokumentácia StoreKit hovorí o najviac 48 hodinách. Ty máš na poslanie údajov o spotrebe 12 hodín.
Čo sa stane s prístupom po vrátení peňazí?
Preplatený nákup zmizne z aktívnych oprávnení zákazníka: StoreKit 2 ho už nevracia v currentEntitlements. Ak Apple vrátenie peňazí neskôr zruší, dostaneš REFUND_REVERSED a musíš prístup obnoviť.
Potrebujem súhlas zákazníka, aby som mohol odpovedať Apple?
Áno. Apple vyžaduje platný súhlas pred akýmkoľvek zdieľaním údajov cez Consumption API. Bez neho na notifikáciu neodpovedáš. Na jeho získanie nesmieš použiť okno sledovania reklám.
Počítajú sa vrátenia peňazí v neprospech mojej appky?
Môžu. Guideline 5.6.4 uvádza nadmerné žiadosti o vrátenie peňazí medzi znakmi nedostatočnej kvality, ktoré Apple môže zohľadniť pri posudzovaní dodržiavania kódexu správania.

