Wszystkie artykuły
Deep dive9 min czytania

Zwrot w miesięcznej subskrypcji Apple z 12-miesięcznym zobowiązaniem może zakończyć cały rok albo tylko jeden jego miesiąc

W miesięcznej subskrypcji z 12-miesięcznym zobowiązaniem Apple dzieli zwroty na dwa przypadki. Zwrot za miniony miesiąc nie przerywa rozliczeń. Zwrot za bieżący miesiąc natychmiast kończy zobowiązanie. Pokazujemy, jak każdy przypadek trafia na Twój serwer, ile kosztuje i co wysłać do Apple.

Ścienny kalendarz roczny z wyrwaną jedną kartką miesiąca obok smartfona, ilustrujący zwrot w miesięcznej subskrypcji z 12-miesięcznym zobowiązaniem

Najważniejsze wnioski

  • W miesięcznej subskrypcji Apple z 12-miesięcznym zobowiązaniem zwrot za wcześniejszy okres rozliczeniowy unieważnia tylko transakcję z tego miesiąca. Klient pozostaje subskrybentem, a rozliczenia trwają zgodnie z harmonogramem.
  • Gdy Apple zwraca bieżący okres rozliczeniowy miesięcznej subskrypcji z 12-miesięcznym zobowiązaniem, zobowiązanie kończy się natychmiast, a pozostałe miesięczne płatności nigdy nie zostaną pobrane.
  • Klient, który anuluje plan z 12-miesięcznym zobowiązaniem, anuluje odnowienie zobowiązania, a nie pozostałe płatności. Apple nadal pobiera opłatę co miesiąc i wysyła EXPIRED dopiero po 12. okresie.
  • Billing Grace Period (okres karencji przy problemach z płatnością) nie dotyczy miesięcznych subskrypcji z 12-miesięcznym zobowiązaniem. Apple zaleca odebranie dostępu przy DID_FAIL_TO_RENEW i przywrócenie go przy DID_RENEW z podtypem BILLING_RECOVERY.
  • Jeśli Apple nie zdoła odzyskać nieudanej miesięcznej płatności w planie z 12-miesięcznym zobowiązaniem w ciągu 90 dni, zobowiązanie wygasa, a odebranie dostępu jest ostateczne.
  • Wniosek o zwrot w planie ze zobowiązaniem wywołuje CONSUMPTION_REQUEST. Apple prosi wtedy w ciągu 12 godzin o dane o wykorzystaniu i preferencję zwrotu dla tego okresu rozliczeniowego.
  • Przejście z planu z 12-miesięcznym zobowiązaniem na wyższy poziom natychmiast kończy zobowiązanie. Klient może otrzymać proporcjonalny zwrot za niewykorzystaną część bieżącego okresu.

Jeden zatwierdzony zwrot w miesięcznej subskrypcji Apple z 12-miesięcznym zobowiązaniem może cofnąć pojedynczą płatność albo skasować wszystkie płatności pozostałe do końca roku. Który scenariusz nastąpi, zależy od szczegółu, którego większość kodu serwerowego nigdy nie sprawdza: czy zwracany miesiąc jest bieżący. Dokumentacja Apple mówi o tym wprost. Zwrot za miniony okres rozliczeniowy pozostawia zobowiązanie w mocy. Zwrot za bieżący okres natychmiast je kończy. Jeśli potraktujesz oba przypadki tak samo, odetniesz klienta, który wciąż płaci, albo dalej będziesz obsługiwać takiego, który już nie płaci.

Jak rozlicza się plan Apple z 12-miesięcznym zobowiązaniem

Apple wprowadziło tę opcję w kwietniu 2026. To nie jest nowy typ produktu. W App Store Connect dodajesz miesięczny plan rozliczeń do istniejącej rocznej subskrypcji odnawianej automatycznie, a identyfikator produktu pozostaje ten sam. Klient płaci co miesiąc, zobowiązał się do 12 płatności, a po ostatniej płatności zobowiązanie odnawia się na kolejne 12 miesięcy, chyba że wcześniej je anuluje.

ZasadaCo mówi dokumentacja Apple
Gdzie jest dostępnyWe wszystkich sklepach poza Stanami Zjednoczonymi i Singapurem
Urządzenia i SDKOS 26.4 lub nowszy, bez watchOS, w aplikacjach zbudowanych z SDK 26.5 lub nowszym
Limity cenSuma za 12 miesięcy musi wynosić co najmniej roczną cenę płatną z góry i nie więcej niż 1,5 raza tej ceny
Warunek wstępnyW danym kraju musi być skonfigurowana roczna płatność z góry, zanim będzie można zaoferować tam rozliczenia miesięczne
Jak wygląda w danychbillingPlanType ma wartość MONTHLY, a commitmentInfo zawiera billingPeriodNumber, totalBillingPeriods, commitmentExpiresDate i commitmentPrice
Jeśli usuniesz opcjęObecni klienci nie odnowią zobowiązania po jego zakończeniu, a nowi nie mogą jej wybrać

Każdy okres rozliczeniowy tworzy osobną transakcję i daje miesiąc dostępu. Właśnie ten szczegół wyjaśnia, jak działają zwroty. Apple zwraca transakcje, a w planie ze zobowiązaniem każdy miesiąc to osobna transakcja.

Co zwrot robi z 12-miesięcznym zobowiązaniem

Przewodnik Apple po cyklu życia zobowiązania dzieli zwroty na dwa przypadki. Różnica polega na tym, którego okresu rozliczeniowego dotyczy zwrot.

Zwrot dotyczyCo dzieje się ze zobowiązaniemGdzie to widaćCo powinien zrobić Twój serwer
Wcześniejszego okresu rozliczeniowegoTrwa bez zmian. Rozliczenia zgodnie z harmonogramemrevocationDate w transakcji z tego okresuUnieważnić tylko tę transakcję. Subskrypcja pozostaje aktywna
Bieżącego okresu rozliczeniowegoKończy się natychmiastrevocationDate w najnowszej transakcjiZakończyć dostęp. Kolejnych płatności nie będzie
Przejścia na wyższy poziomKończy się natychmiast i startuje nowy planDID_CHANGE_RENEWAL_PREF, podtyp UPGRADEZmienić uprawnienia. Może nastąpić proporcjonalny zwrot za niewykorzystany okres

Czy zwrot za drugi miesiąc anuluje resztę roku?

Nie, o ile drugi miesiąc już minął. Załóżmy, że klient jest w piątym miesiącu, a Apple zwraca mu płatność za drugi. Apple unieważnia transakcję z drugiego miesiąca, a klient pozostaje subskrybentem. Rozliczenia za miesiące od szóstego do dwunastego trwają dalej. Wytyczne Apple są tu jednoznaczne: sprawdź revocationDate w danej transakcji, ale nie traktuj jej jako anulowania zobowiązania.

Kiedy zwrot kończy zobowiązanie

Jeśli zwrot dotyczy bieżącego okresu rozliczeniowego, zobowiązanie kończy się od razu. Sygnałem jest revocationDate w najnowszej transakcji. Jej obecność oznacza, że bieżący okres został unieważniony i kolejnych płatności nie będzie, więc kończy się też dostęp.

Przejście na wyższy plan też może oznaczać zwrot

Apple zaznacza, że klienci mogą otrzymać zwrot nie tylko po złożeniu wniosku, ale też po zmianie planu. Przejście z planu ze zobowiązaniem na subskrypcję wyższego poziomu następuje natychmiast. Zobowiązanie się kończy, startuje nowy plan, a klient może dostać proporcjonalny zwrot za niewykorzystaną część bieżącego okresu zobowiązania. Przejście na niższy plan działa odwrotnie. Czeka, aż 12-miesięczne zobowiązanie dobiegnie końca.

Anulowanie to nie zwrot

Klient, który stuka Anuluj w planie z 12-miesięcznym zobowiązaniem, nie przestaje płacić. Według Apple anuluje odnowienie zobowiązania, a nie pozostałe płatności w bieżącym okresie. Oto co trafia na Twój serwer.

  • Apple wysyła DID_CHANGE_RENEWAL_STATUS z podtypem AUTO_RENEW_DISABLED.
  • Status automatycznego odnawiania zobowiązania spada do 0, więc zobowiązanie nie odnowi się po zakończeniu okresu.
  • Informacje o odnowieniu subskrypcji nadal pokazują willAutoRenew równe 1, bo rozliczenia miesięczne trwają.
  • Powiadomienia DID_RENEW przychodzą dalej za każdy pozostały miesiąc. EXPIRED przychodzi po 12. okresie i dopiero wtedy kończy się dostęp.

Apple zaleca, by przed uruchomieniem zwykłej logiki anulowania sprawdzić typ planu rozliczeń. Jeśli to MONTHLY, niczego nie odbieraj. Zapewnij dostęp za każdy pozostały okres rozliczeniowy.

Jest jeden wyjątek regionalny. App Store Connect Help podaje, że klient, który anuluje, płaci do końca zobowiązania, z wyjątkiem niektórych regionów, i odsyła do strony Apple o anulowaniu subskrypcji w Niemczech, Izraelu, Republice Południowej Afryki i Turcji. W tych czterech krajach klienci mogą w dowolnym momencie anulować subskrypcję ze skutkiem natychmiastowym i otrzymać proporcjonalny zwrot.

Nieudane płatności od razu kończą dostęp

Plany ze zobowiązaniem nie mają siatki bezpieczeństwa, na której możesz polegać gdzie indziej. Billing Grace Period nie obowiązuje. Gdy miesięczne odnowienie się nie uda, Apple każe odebrać dostęp na czas, gdy subskrypcja jest w trybie ponawiania płatności, i przywrócić go tylko wtedy, gdy płatność zostanie odzyskana.

PowiadomienieCo mówiCo zrobić
DID_FAIL_TO_RENEWisInBillingRetryPeriod ma wartość trueOdebrać dostęp od razu
DID_RENEW, podtyp BILLING_RECOVERYcommitmentExpiresDate przesuwa się zgodnie z datą odzyskania płatnościPrzywrócić dostęp i zapisać nową datę końcową
EXPIRED, podtyp BILLING_RETRYApple nie odzyskało płatności w ciągu 90 dniZobowiązanie się skończyło. Wcześniejsze odebranie dostępu jest ostateczne

Po odzyskaniu płatności odczytaj commitmentExpiresDate z najnowszej transakcji. Nie będzie zgodna z pierwotną datą końcową, a każde kolejne odnowienie idzie według przesuniętego harmonogramu.

Programista późnym wieczorem przy laptopie sprawdza powiadomienia o subskrypcjach w panelu serwera, obok klawiatury leży smartfon

Ile kosztuje Cię zwrot w planie ze zobowiązaniem

Oto liczby na przykładowych cenach. Załóżmy, że roczny plan płatny z góry kosztuje 59,99 €, a miesięczna opcja ze zobowiązaniem 6,99 €, co daje 83,88 € przez 12 miesięcy. To mieści się w limicie Apple wynoszącym 1,5 raza ceny płatnej z góry.

Scenariusz, klient w 4. miesiącuZwrócone płatnościUtracone przyszłe płatnościUtracona wartość zobowiązania
Apple zwraca miesiąc 26,99 €Brak. Miesiące od 5 do 12 nadal są rozliczane6,99 €
Apple zwraca miesiąc 4, czyli bieżący okres6,99 €55,92 €, osiem płatności, które nigdy nie zostaną pobrane62,91 €
Klient anuluje, bez zwrotuBrakBrak. Miesiące od 5 do 12 nadal są rozliczane0 €
Klient w Niemczech anulujeProporcjonalna część miesiąca 455,92 €Do 62,91 €

To ceny dla klienta. Faktycznie tracisz swój udział w każdej płatności. Apple wypłaca 70% ceny subskrypcji, pomniejszonej o należne podatki, w pierwszym roku płatnej usługi subskrybenta, a potem 85%, podobnie jak członkom App Store Small Business Program.

Zwrot to tylko połowa rachunku. Miesiąc dostępu nie jest darmowy w obsłudze. Jeśli Twoja aplikacja generuje treści AI, wywołuje płatne zewnętrzne API albo przechowuje pliki klientów, za tę moc obliczeniową, te wywołania i to miejsce zapłaciłeś w zwróconym miesiącu. Zwrot za miniony miesiąc oddaje płatność, a koszty zostają u Ciebie. Zwrot za bieżący miesiąc robi to samo i dodatkowo usuwa resztę roku z Twojej prognozy.

Jak odpowiedzieć na CONSUMPTION_REQUEST w planie ze zobowiązaniem

To jedyny moment, w którym masz coś do powiedzenia. Gdy klient prosi o zwrot w planie ze zobowiązaniem, Apple wysyła CONSUMPTION_REQUEST do Twojego endpointu App Store Server Notifications V2. Odpowiadasz przez Send Consumption Information, a Apple prosi o odpowiedź w ciągu 12 godzin. Odpowiedź zawiera dane o wykorzystaniu i Twoją preferencję zwrotu dla tego okresu rozliczeniowego, a nie dla całego zobowiązania.

  • Wysyłaj dane tylko za zgodą klienta. Według dokumentacji Apple bez zgody nie należy w ogóle odpowiadać na wniosek.
  • Pomiń consumptionPercentage. API zwraca ConsumptionPercentageAutoRenewableSubscriptionError, gdy wyślesz je dla subskrypcji odnawianej automatycznie.
  • Opieraj preferencję zwrotu na wykorzystaniu w danym miesiącu. Klient, który w spornym miesiącu uruchomił 300 płatnych generacji, zostawił ślad realnych kosztów. Ktoś, kto nigdy nie otworzył aplikacji, nie zostawił.
  • Sprawdź, którego okresu dotyczy wniosek. Wniosek za bieżący okres, jeśli Apple go zatwierdzi, kończy zobowiązanie. Wniosek za miniony okres nie.

Co musi obsłużyć Twój serwer

  • Odczytuj billingPlanType w każdej transakcji i każdym powiadomieniu o odnowieniu. MONTHLY oznacza, że obowiązują zasady zobowiązania.
  • Przyznawaj dostęp według expirationDate transakcji. Według Apple data wygaśnięcia w commitmentInfo służy do pokazywania postępu, a nie do decydowania o dostępie.
  • Przy zwrocie sprawdź, czy najnowsza transakcja ma revocationDate, zanim zakończysz subskrypcję.
  • Przy anulowaniu utrzymuj dostęp, dopóki po 12. okresie nie przyjdzie EXPIRED.
  • Przy DID_FAIL_TO_RENEW odbierz dostęp od razu. Nie czekaj na okres karencji, którego nie będzie.
  • Zapisuj commitmentExpiresDate na nowo po każdym BILLING_RECOVERY.

Apple decyduje o każdym zwrocie w App Store, więc CONSUMPTION_REQUEST to Twoja jedyna szansa, by pokazać mu dane o wykorzystaniu. RefundHalt odpowiada na te wnioski automatycznie w 12-godzinnym oknie i zapisuje, którego okresu rozliczeniowego dotyczył każdy zwrot, więc zwrot za miniony miesiąc nigdy nie zostanie pomylony z utratą subskrybenta.

Często zadawane pytania

Co się dzieje, gdy Apple zwraca jedną płatność miesięcznej subskrypcji z 12-miesięcznym zobowiązaniem?
To zależy od okresu rozliczeniowego. Zwrot za wcześniejszy okres unieważnia tylko transakcję z tego miesiąca, a zobowiązanie trwa z rozliczeniami zgodnie z harmonogramem. Zwrot za bieżący okres natychmiast kończy zobowiązanie, więc pozostałe płatności nigdy nie zostaną pobrane.
Czy klienci mogą wcześniej anulować miesięczną subskrypcję Apple z 12-miesięcznym zobowiązaniem?
Mogą anulować, ale anulowanie zatrzymuje odnowienie zobowiązania, a nie pozostałe płatności. Rozliczenia trwają przez wszystkie 12 okresów, a razem z nimi dostęp. App Store Connect Help wskazuje wyjątki w niektórych regionach, a strona pomocy Apple podaje, że klienci w Niemczech, Izraelu, Republice Południowej Afryki i Turcji mogą anulować ze skutkiem natychmiastowym i otrzymać proporcjonalny zwrot.
Czy Billing Grace Period dotyczy planów z 12-miesięcznym zobowiązaniem?
Nie. Według Apple Billing Grace Period nie dotyczy miesięcznych subskrypcji z 12-miesięcznym zobowiązaniem. Odbierz dostęp, gdy przyjdzie DID_FAIL_TO_RENEW, przywróć go przy DID_RENEW z podtypem BILLING_RECOVERY, a EXPIRED z podtypem BILLING_RETRY po 90 dniach traktuj jako ostateczne.
Czy dostanę CONSUMPTION_REQUEST dla planu z 12-miesięcznym zobowiązaniem?
Tak. Wniosek o zwrot w planie ze zobowiązaniem wysyła CONSUMPTION_REQUEST do Twojego endpointu App Store Server Notifications V2. Odpowiedz w ciągu 12 godzin, podając dane o wykorzystaniu i preferencję zwrotu dla tego okresu rozliczeniowego, i tylko wtedy, gdy klient zgodził się na udostępnianie danych Apple.
Czy miesięczna subskrypcja z 12-miesięcznym zobowiązaniem jest dostępna w Stanach Zjednoczonych?
Nie. Apple oferuje ją we wszystkich sklepach App Store poza Stanami Zjednoczonymi i Singapurem, na OS 26.4 lub nowszym, z wyłączeniem watchOS, w aplikacjach zbudowanych z SDK 26.5 lub nowszym.

Źródła i materiały dodatkowe

RefundHalt

Autopilot zwrotów dla App Store i Google Play

Czytaj dalej

Kolejny wniosek o zwrot jest już w drodze.

Skonfiguruj RefundHalt w czasie potrzebnym na przeczytanie kolejnej wiadomości od pomocy technicznej o zwrocie, którego nie udało Ci się zakwestionować.