Apple sprzedaje teraz Twoją subskrypcję całym firmom na stanowiska, a zwrot za subskrypcję wielostanowiskową działa inaczej
Apple włączyło 22 października 2026 subskrypcje wielostanowiskowe dla firm i szkół, domyślnie aktywne. Jeden zakup obejmuje teraz wiele osób, usunięte stanowiska przychodzą jako powiadomienia REVOKE, a endpoint dowodów zwrotu odrzuca przypisane stanowiska. Oto co się zmienia i ile to kosztuje.

Najważniejsze wnioski
- Od 22 października 2026 organizacje korzystające z Apple Business lub Apple School Manager mogą kupić automatycznie odnawianą subskrypcję aplikacji w ilości hurtowej w ramach jednego zakupu In-App w Apple, przypisać stanowiska narzędziami do zarządzania urządzeniami i w dowolnym momencie dodawać lub usuwać stanowiska.
- Apple domyślnie włączyło zakupy wielostanowiskowe w App Store Connect. Subskrypcje utworzone przed 14 września 2026, które nie korzystają ze StoreKit 2 lub mają włączone Chmurowe udostępnianie rodzinne, startują jako wyłączone. Subskrypcji w aplikacjach niestandardowych (custom apps) nie da się wyłączyć wcale.
- Przy zakupie wielostanowiskowym pole quantity w payloadzie transakcji Apple podaje liczbę stanowisk, a każda osoba, która otrzymuje stanowisko, dostaje transakcję z inAppOwnershipType równym ASSIGNED.
- Gdy organizacja odbiera komuś przypisaną subskrypcję, Apple wysyła powiadomienie REVOKE, a transakcja ma revocationType równy ASSIGNMENT_REVOKE, dostępny w produkcji od 23 października 2026.
- Endpoint Send Consumption Information w Apple, czyli odpowiedź na CONSUMPTION_REQUEST, zwraca InvalidAssignedTransactionNotSupportedError dla przypisanej transakcji, więc dowody w sprawie zwrotu można wysłać tylko dla transakcji kupującego.
- Pole revocationType w Apple odróżnia REFUND_FULL od REFUND_PRORATED, a revocationPercentage podaje zwróconą część w milijednostkach, więc 40000 oznacza 40 procent.
- Group Purchases (zakupy grupowe), w których jeden klient App Store kupuje kilka stanowisk i zaprasza inne osoby, można testować w sandboksie od listopada 2026, a do App Store trafią tej zimy.
Od 22 października 2026 Apple sprzedaje subskrypcje aplikacji organizacjom na stanowiska i włączyło tę opcję większości deweloperów bez pytania. Firmy i szkoły korzystające z Apple Business lub Apple School Manager mogą teraz kupić Twoją automatycznie odnawianą subskrypcję hurtowo w ramach jednego zakupu In-App. To zmienia wygląd zwrotu za subskrypcję wielostanowiskową na Twoim serwerze. Jedna transakcja może teraz opłacać dziesiątki osób, stanowisko może zniknąć bez żadnego zwrotu, a endpoint, którym bronisz sprawy o zwrot, odmawia informacji o osobach, które faktycznie korzystają z aplikacji.
Co Apple włączyło i gdzie to ogłosiło
Start nastąpił w krótkim wpisie Apple Developer News zatytułowanym „Offer your subscriptions to businesses and schools”. Czytamy w nim, że organizacje mogą kupić potrzebne stanowiska w ramach jednego zakupu In-App, a następnie przypisywać je i zarządzać nimi za pomocą istniejących narzędzi do zarządzania urządzeniami oraz w dowolnym momencie dodawać lub usuwać stanowiska. Ten sam wpis mówi, że zakupy wielostanowiskowe są domyślnie włączone w App Store Connect, chyba że wcześniej zmieniłeś to ustawienie.
Infrastruktura pojawiła się w poprzednim miesiącu w changelogach, a nie na scenie. App Store Server API 1.22 z 28 września dodało pola stanowisk i endpointy grupowe, tylko w sandboksie. 23 października jednolinijkowa aktualizacja serwera przeniosła endpointy grupowe i wartość ASSIGNMENT_REVOKE do produkcji. Jeśli Twój handler powiadomień nie zmienił się od lata, odbiera teraz dane, do których czytania nigdy nie był pisany.
| Data | Co się zmieniło | Gdzie Apple to podało |
|---|---|---|
| Czerwiec 2026 | Subskrypcje wielostanowiskowe ogłoszone na WWDC26 | Sesja 391, Offer subscriptions to groups and organizations |
| 16 września 2026 | Zakupy wielostanowiskowe domyślnie włączone w App Store Connect | Apple Developer News |
| 28 września 2026 | quantity podaje stanowiska, dodano ASSIGNED i ASSIGNMENT_REVOKE, tylko sandbox | Changelog App Store Server API, wersja 1.22 |
| 22 października 2026 | Volume Purchasing (zakupy hurtowe) dostępne dla Apple Business i Apple School Manager | Apple Developer News |
| 23 października 2026 | ASSIGNMENT_REVOKE i endpointy grupowe dostępne w produkcji | Changelogi Server API i Server Notifications |
| Listopad 2026 | Group Purchases do przetestowania w sandboksie | Apple Developer News |
| Tej zimy | Group Purchases w App Store | Apple Developer News |
Kto jest domyślnie włączony
Prawie wszyscy. Strona pomocy App Store Connect mówi, że subskrypcje utworzone przed 14 września 2026 startują jako wyłączone tylko wtedy, gdy nie korzystają ze StoreKit 2 albo mają włączone Chmurowe udostępnianie rodzinne. Subskrypcje w aplikacjach niestandardowych trafiają automatycznie do Apple Business i Apple School Manager i nie można ich wyłączyć. Zmiana ustawienia wymaga roli Account Holder, Admin lub App Manager, a usunięcie Apple Business lub Apple School Manager z zatwierdzonej subskrypcji wymaga roli Account Holder.
Jak zakup wielostanowiskowy wygląda na Twoim serwerze
Dla tej samej subskrypcji istnieją teraz dwa rodzaje transakcji. Zakup organizacji to jedna transakcja, a jej pole quantity podaje, ile stanowisk kupiono. Każda osoba, która dostaje stanowisko, otrzymuje własną transakcję. Sesja WWDC Apple opisuje to tak, że App Store przypisuje transakcję każdemu członkowi. Te transakcje członków mają inAppOwnershipType równy ASSIGNED, obok wartości PURCHASED i FAMILY_SHARED, które być może już obsługujesz.
Apple jasno mówi, który rekord decyduje o dostępie. Dokumentacja Get Customer Groups stwierdza, że członkostwo w grupie jest oddzielone od uprawnień i że do odblokowania treści należy czytać transakcje klienta, a nie polegać na członkostwie w grupie. Przyznawaj dostęp na podstawie transakcji. Endpointów grupowych używaj tylko do funkcji takich jak widok administratora.
| Pole lub wartość | Co Ci mówi | Dodano |
|---|---|---|
| quantity | Liczba stanowisk w zakupie wielostanowiskowym | 28 września 2026 |
| inAppOwnershipType = ASSIGNED | Osoba ma dostęp przez organizację lub grupę | 28 września 2026 |
| revocationType = ASSIGNMENT_REVOKE | Kupujący odebrał tej osobie subskrypcję | 28 września 2026, produkcja 23 października |
| revocationType = REFUND_FULL lub REFUND_PRORATED | Transakcja została zwrócona w całości lub w części | 10 grudnia 2025 |
| revocationPercentage | Zwrócona część w milijednostkach (40000 = 40%) | 10 grudnia 2025 |
Usunięte stanowisko to nie zwrot
Tu większość handlerów się pomyli. Gdy organizacja odbiera stanowisko pracownikowi, Apple wysyła powiadomienie REVOKE, tego samego typu, którego używa, gdy kupujący w Chmurowym udostępnianiu rodzinnym przestaje udostępniać. revocationType transakcji to ASSIGNMENT_REVOKE, a instrukcja Apple jest jednoznaczna: odbierz klientowi dostęp do treści, które zapewnia transakcja.
Nic w tym zdarzeniu nie mówi, że przepłynęły pieniądze. Jeśli Twój kod traktuje każde odwołanie jako zwrot, Twój wskaźnik zwrotów, przychód netto i wszystkie zbudowane na nich alerty policzą zwykłą rotację pracowników jako utraconą sprzedaż. Najpierw rozgałęź logikę według revocationType.
- ASSIGNMENT_REVOKE: zakończ dostęp tej osoby. Nie księguj zwrotu.
- FAMILY_REVOKE: zakończ dostęp członka rodziny. Nie księguj zwrotu.
- REFUND_FULL: zakończ dostęp i zaksięguj całą transakcję jako zwróconą.
- REFUND_PRORATED: zaksięguj część z revocationPercentage, a potem zdecyduj, jaki dostęp zostaje.

Dlaczego nie obronisz zwrotu za przypisane stanowisko
Apple nadal decyduje o każdym zwrocie w App Store. Gdy klient o niego prosi, Apple wysyła CONSUMPTION_REQUEST i daje Ci 12 godzin na odpowiedź przez Send Consumption Information. Przy subskrypcjach wielostanowiskowych osoba korzystająca z aplikacji i osoba, która zapłaciła, to różne osoby, a API Apple wyznacza teraz między nimi twardą granicę.
Send Consumption Information odrzuca przypisane transakcje
Wywołaj Send Consumption Information, jego wersję V1 lub Set App Account Token z przypisaną transakcją, a Apple zwróci InvalidAssignedTransactionNotSupportedError. Apple radzi, by przed wywołaniem sprawdzić, czy inAppOwnershipType nie jest równy ASSIGNED. W praktyce Twoje dowody trafiają na transakcję kupującego albo nigdzie. Dane o użyciu, które Twoja aplikacja zapisuje dla kont członków, nadal warto zbierać, bo tylko tak wiesz, czy stanowiska w ogóle były używane.
Jak wygląda zwrot proporcjonalny
Apple dodało REFUND_PRORATED i revocationPercentage w grudniu 2025. Consumption request pozwala poprosić o taki wynik przez refundPreference równy GRANT_PRORATED. W przypadku automatycznie odnawianej subskrypcji Apple każe nie wysyłać consumptionPercentage razem z GRANT_PRORATED, ponieważ samo oblicza procent. Jeśli zwrot zostanie później cofnięty, revocationPercentage znika z transakcji.
Czy mogę przedłużyć subskrypcję jednego pracownika w geście dobrej woli?
Nie. Extend a Subscription Renewal Date zwraca AssignedSubscriptionExtensionIneligibleError dla przypisanej subskrypcji. Apple uzasadnia to tym, że przypisana subskrypcja odnawia się według tego samego harmonogramu co subskrypcja kupiona przez kupującego, więc jednego członka nie można przesunąć osobno.
Ile kosztuje Cię zwrot za subskrypcję wielostanowiskową
Nowym ryzykiem jest skala. Sesja WWDC Apple omawia ceny hurtowe z maksymalnie pięcioma progami cenowymi. W przykładzie stanowiska kosztują $19.99 miesięcznie do 20 stanowisk, $13.99 za stanowiska od 21 do 40 i $10.99 od stanowiska 41. Przy tych liczbach zamówienie na 50 stanowisk kosztuje $789.50 miesięcznie, około $15.79 za stanowisko. REFUND_FULL na tej jednej transakcji oddaje całe $789.50, a nie cenę jednej subskrypcji.
Koszty obsługi rosną tak samo. Pięćdziesiąt stanowisk to pięćdziesiąt osób uruchamiających sesje na Twoich serwerach, wykonujących wywołania zewnętrznych API, za które płacą Twoje funkcje, i zapełniających przestrzeń dyskową, za którą dostajesz rachunek. Jeśli posiadacze stanowisk ze zwróconego zamówienia zachowają dostęp, bo Twój handler sprawdził tylko transakcję kupującego, płacisz dalej za każdego z nich. Przeoczone ASSIGNMENT_REVOKE jest mniejsze, ale częstsze: zakup nie obejmuje już tej osoby, a każde jej żądanie to koszt bez przychodu.
| Zdarzenie | Przepływ pieniędzy | Dostęp do zakończenia | Dowody, które możesz wysłać |
|---|---|---|---|
| ASSIGNMENT_REVOKE u członka | Brak zgłoszonego | Ten członek | Nie dotyczy |
| REFUND_FULL na zakupie wielostanowiskowym | Cała transakcja, każde stanowisko na niej | Kupujący i każdy posiadacz stanowiska | Tylko transakcja kupującego, w ciągu 12 godzin od CONSUMPTION_REQUEST |
| REFUND_PRORATED na zakupie wielostanowiskowym | Część z revocationPercentage | Zależy od tego, co obejmuje zwrot | Tylko transakcja kupującego |
| Odpowiedź consumption na przypisanej transakcji | Nieprzyjęta | Nie dotyczy | Odrzucona z InvalidAssignedTransactionNotSupportedError |
Które procesy zwrotów w ogóle pytają o Twoje stanowisko
Multiseat nie zmienia krótkiej listy. Tylko dwa procesy zwrotów proszą dewelopera o dowody: CONSUMPTION_REQUEST w Apple, na który odpowiadasz przez Send Consumption Information w ciągu 12 godzin, oraz weryfikacja chargebacków w Google Play, na którą odpowiadasz przez orders.reviewrefund w ciągu 24 godzin. Cała reszta zapada bez Ciebie. W przypadku zamówień w Google Play złożonych po 3 sierpnia 2026 chargeback kosztuje dewelopera cenę zakupu pomniejszoną o opłatę serwisową Play, plus opłaty banku za chargeback. RefundHalt odpowiada na consumption requests Apple w 12-godzinnym oknie, korzystając z danych o użyciu, które już zbierasz.
Co zmienić w handlerze App Store jeszcze w tym tygodniu
- Odczytuj quantity w każdej transakcji subskrypcji i zapisuj je razem z zakupem.
- Zapisuj inAppOwnershipType i traktuj ASSIGNED jako osobny przypadek obok PURCHASED i FAMILY_SHARED.
- Rozgałęź obsługę REVOKE według revocationType, aby ASSIGNMENT_REVOKE kończyło dostęp bez księgowania zwrotu.
- Księguj REFUND_PRORATED według części z revocationPercentage, a nie jako pełny zwrot.
- Sprawdzaj ASSIGNED przed wywołaniem Send Consumption Information, Set App Account Token lub Extend a Subscription Renewal Date.
- Zdecyduj w App Store Connect, czy w ogóle chcesz sprzedawać organizacjom, zanim któraś kupi 50 stanowisk.
Często zadawane pytania
- Czy subskrypcje wielostanowiskowe Apple są włączone dla mojej aplikacji?
- Prawdopodobnie tak. Apple domyślnie włączyło zakupy wielostanowiskowe w App Store Connect. Subskrypcje utworzone przed 14 września 2026 startują jako wyłączone tylko wtedy, gdy nie korzystają ze StoreKit 2 albo mają włączone Chmurowe udostępnianie rodzinne, a subskrypcji w aplikacjach niestandardowych nie da się wyłączyć. Możesz to sprawdzić w sekcji Purchase Options na stronie każdej subskrypcji.
- Czy powiadomienie REVOKE z ASSIGNMENT_REVOKE oznacza, że straciłem pieniądze?
- Nie. ASSIGNMENT_REVOKE oznacza, że organizacja lub kupujący w grupie odebrał subskrypcję jednej osobie. Apple każe zakończyć dostęp tej osoby, ale zdarzenie nie zgłasza zwrotu. Księguj zwroty tylko przy REFUND_FULL lub REFUND_PRORATED.
- Czy mogę wysłać informacje o konsumpcji dla pracownika korzystającego z przypisanego stanowiska?
- Nie. Endpoint Send Consumption Information w Apple zwraca InvalidAssignedTransactionNotSupportedError dla transakcji, które organizacja lub grupa przypisała klientowi. Najpierw sprawdź, czy inAppOwnershipType jest równy ASSIGNED, i wysyłaj dowody na transakcji kupującego.
- Skąd mam wiedzieć, jaką część zakupu wielostanowiskowego Apple zwróciło?
- Odczytaj revocationType i revocationPercentage w transakcji. REFUND_FULL oznacza, że zwrócono całą transakcję. REFUND_PRORATED przychodzi z revocationPercentage w milijednostkach, więc 40000 oznacza 40 procent transakcji.
- Kiedy startują Group Purchases w Apple?
- Według Apple Group Purchases, w których jeden klient App Store kupuje kilka stanowisk i zaprasza inne osoby, można konfigurować i testować w sandboksie od listopada 2026, a w App Store będą dostępne tej zimy. Volume Purchasing dla firm i szkół wystartowało 22 października 2026.
Źródła i materiały dodatkowe
- Apple Developer News: Offer your subscriptions to businesses and schools (October 22, 2026)
- App Store Connect Help: Manage purchase options for an auto-renewable subscription
- WWDC26 Session 391: Offer subscriptions to groups and organizations
- App Store Server Notifications changelog
- App Store Server API: revocationType
- App Store Server API: revocationPercentage
- App Store Server API: InvalidAssignedTransactionNotSupportedError
- App Store Server API: ConsumptionRequest
RefundHalt
Autopilot zwrotów dla App Store i Google Play
Czytaj dalej
Nadmierne prośby o zwrot mogą kosztować więcej niż same zwroty, bo oba sklepy z aplikacjami traktują je jako sygnał jakości
Wytyczna 5.6.4 Apple wprost wskazuje nadmierne prośby o zwrot jako oznakę, że aplikacja nie spełnia standardów jakości, a umowa dystrybucyjna Google pozwala usuwać aplikacje nowych deweloperów z powodu wskaźnika zwrotów. Oto co piszą oba sklepy, ile kosztuje usunięcie i jak trzymać się z dala od kłopotów.
Weryfikuj powiadomienia serwera App Store, zanim zareagujesz na zwrot, bo każdy może wysłać żądanie na Twój adres webhooka
Powiadomienie o zwrocie to tylko żądanie HTTPS, dopóki nie sprawdzisz jego podpisu. Oto jak weryfikować powiadomienia serwera App Store i wiadomości RTDN z Google Play, co podpisuje każdy ze sklepów i ile kosztuje Cię sfałszowany lub błędnie odrzucony zwrot.