Apple тепер продає вашу підписку цілим компаніям за місцями, і повернення коштів за багатомісну підписку працює інакше
22 жовтня 2026 року Apple увімкнула багатомісні підписки для компаній і шкіл, за замовчуванням. Одна покупка тепер покриває багатьох людей, вилучення місць надходить як сповіщення REVOKE, а ендпоінт для доказів щодо повернень відмовляється працювати з призначеними місцями. Що змінюється і скільки це коштує.

Головне
- З 22 жовтня 2026 року організації, які користуються Apple Business або Apple School Manager, можуть купити автопоновлювану підписку застосунку гуртом через одну покупку In-App Purchase в Apple, призначити місця своїми інструментами керування пристроями та будь-коли додавати чи вилучати місця.
- Apple увімкнула багатомісні покупки за замовчуванням в App Store Connect. Підписки, створені до 14 вересня 2026 року, які не використовують StoreKit 2 або мають увімкнений Сімейний доступ, спочатку вимкнені. Підписки в замовних застосунках (custom apps) вимкнути взагалі не можна.
- У багатомісній покупці поле quantity в payload транзакції Apple повідомляє кількість місць, а кожен, хто отримує місце, отримує транзакцію з inAppOwnershipType, що дорівнює ASSIGNED.
- Коли організація відкликає в людини призначену їй підписку, Apple надсилає сповіщення REVOKE, а транзакція має revocationType ASSIGNMENT_REVOKE, доступний у продакшені з 23 жовтня 2026 року.
- Ендпоінт Apple Send Consumption Information, відповідь на CONSUMPTION_REQUEST, повертає InvalidAssignedTransactionNotSupportedError у разі виклику з призначеною транзакцією, тож докази щодо повернення можна надіслати лише для транзакції покупця.
- Поле revocationType в Apple відрізняє REFUND_FULL від REFUND_PRORATED, а revocationPercentage повідомляє повернену частку в тисячних частках, тобто 40000 означає 40 відсотків.
- Group Purchases (групові покупки), де один клієнт App Store купує кілька місць і запрошує інших, можна тестувати в пісочниці з листопада 2026 року, а в App Store вони з’являться цієї зими.
З 22 жовтня 2026 року Apple продає підписки на застосунки організаціям за місцями й увімкнула цю опцію більшості розробників, не питаючи. Компанії та школи, які користуються Apple Business або Apple School Manager, тепер можуть купити вашу автопоновлювану підписку гуртом через одну покупку In-App Purchase. Це змінює те, як повернення коштів за багатомісну підписку виглядає на вашому сервері. Одна транзакція тепер може оплачувати десятки людей, місце може зникнути взагалі без повернення, а ендпоінт, через який ви відстоюєте справу про повернення, відмовляється говорити про людей, які насправді користуються застосунком.
Що Apple увімкнула і де про це оголосила
Запуск оформили короткою новиною Apple Developer із заголовком «Offer your subscriptions to businesses and schools». У ній ідеться, що організації можуть купити потрібні місця через одну покупку In-App Purchase, потім призначати місця й керувати ними наявними інструментами керування пристроями та будь-коли додавати чи вилучати місця. Там само сказано, що багатомісні покупки увімкнені за замовчуванням в App Store Connect, якщо ви ще не змінювали це налаштування.
Технічна частина з’явилася протягом попереднього місяця в журналах змін, а не на сцені. App Store Server API 1.22 від 28 вересня додав поля місць і групові ендпоінти, лише в пісочниці. 23 жовтня однорядкове оновлення сервера перенесло групові ендпоінти та значення ASSIGNMENT_REVOKE у продакшен. Якщо ваш обробник сповіщень не змінювався з літа, він тепер отримує дані, які ніколи не вмів читати.
| Дата | Що змінилося | Де Apple про це повідомила |
|---|---|---|
| Червень 2026 | Багатомісні підписки анонсовано на WWDC26 | Сесія 391, Offer subscriptions to groups and organizations |
| 16 вересня 2026 | Багатомісні покупки увімкнено за замовчуванням в App Store Connect | Новини Apple Developer |
| 28 вересня 2026 | quantity повідомляє кількість місць, додано ASSIGNED і ASSIGNMENT_REVOKE, лише пісочниця | Журнал змін App Store Server API, версія 1.22 |
| 22 жовтня 2026 | Volume Purchasing (гуртові покупки) запущено для Apple Business і Apple School Manager | Новини Apple Developer |
| 23 жовтня 2026 | ASSIGNMENT_REVOKE і групові ендпоінти працюють у продакшені | Журнали змін Server API і Server Notifications |
| Листопад 2026 | Group Purchases можна тестувати в пісочниці | Новини Apple Developer |
| Цієї зими | Group Purchases в App Store | Новини Apple Developer |
У кого опція увімкнена за замовчуванням
Майже в усіх. Довідкова сторінка App Store Connect каже, що підписки, створені до 14 вересня 2026 року, спочатку вимкнені, лише якщо вони не використовують StoreKit 2 або мають увімкнений Сімейний доступ. Підписки в замовних застосунках автоматично доступні в Apple Business і Apple School Manager, і вимкнути їх не можна. Змінити налаштування може роль Account Holder, Admin або App Manager, а прибрати Apple Business чи Apple School Manager зі схваленої підписки може лише Account Holder.
Як багатомісна покупка виглядає на вашому сервері
Тепер одна підписка має два види транзакцій. Покупка організації це одна транзакція, і її поле quantity повідомляє, скільки місць куплено. Кожен, хто отримує місце, отримує власну транзакцію. У сесії Apple на WWDC це описано так: App Store призначає транзакцію кожному учаснику. Ці транзакції учасників мають inAppOwnershipType ASSIGNED, поряд зі значеннями PURCHASED і FAMILY_SHARED, які ви, можливо, вже обробляєте.
Apple чітко каже, який запис визначає доступ. Документація Get Customer Groups зазначає, що членство в групі відокремлене від права доступу і що для відкриття контенту слід читати транзакції клієнта, а не покладатися на членство в групі. Надавайте доступ за транзакціями. Використовуйте групові ендпоінти лише для функцій на кшталт панелі адміністратора.
| Поле або значення | Що воно повідомляє | Додано |
|---|---|---|
| quantity | Кількість місць у багатомісній покупці | 28 вересня 2026 |
| inAppOwnershipType = ASSIGNED | Людина має доступ через організацію або групу | 28 вересня 2026 |
| revocationType = ASSIGNMENT_REVOKE | Покупець відкликав підписку в цієї людини | 28 вересня 2026, продакшен 23 жовтня |
| revocationType = REFUND_FULL або REFUND_PRORATED | Транзакцію повернено повністю або частково | 10 грудня 2025 |
| revocationPercentage | Повернена частка в тисячних частках (40000 = 40%) | 10 грудня 2025 |
Вилучене місце не є поверненням коштів
Тут помилиться більшість обробників. Коли організація забирає місце в працівника, Apple надсилає сповіщення REVOKE, того самого типу, що й тоді, коли покупець у Сімейному доступі припиняє ділитися покупкою. revocationType транзакції дорівнює ASSIGNMENT_REVOKE, і вказівка Apple пряма: відкличте в клієнта доступ до контенту, який надає транзакція.
Ніщо в цій події не свідчить про рух грошей. Якщо ваш код вважає кожне відкликання поверненням, ваша частка повернень, чистий дохід і всі побудовані на них сповіщення рахуватимуть звичайну плинність кадрів як втрачені продажі. Спершу розгалужуйте логіку за revocationType.
- ASSIGNMENT_REVOKE: закрийте доступ цій людині. Не проводьте повернення.
- FAMILY_REVOKE: закрийте доступ члену родини. Не проводьте повернення.
- REFUND_FULL: закрийте доступ і проведіть усю транзакцію як повернену.
- REFUND_PRORATED: проведіть частку з revocationPercentage, потім вирішіть, який доступ залишається.

Чому повернення за призначеним місцем не оскаржити
Apple і далі сама вирішує щодо кожного повернення в App Store. Коли клієнт просить повернення, Apple надсилає CONSUMPTION_REQUEST і дає вам 12 годин на відповідь через Send Consumption Information. У багатомісній моделі людина, яка користується застосунком, і людина, яка заплатила, це різні люди, і API Apple тепер проводить між ними жорстку межу.
Send Consumption Information відхиляє призначені транзакції
Викличте Send Consumption Information, його версію V1 або Set App Account Token з призначеною транзакцією, і Apple поверне InvalidAssignedTransactionNotSupportedError. Apple радить перед викликом перевіряти, чи не дорівнює inAppOwnershipType значенню ASSIGNED. На практиці ваші докази йдуть на транзакцію покупця або нікуди. Дані про використання, які ваш застосунок записує для акаунтів учасників, усе одно варто зберігати: лише так можна зрозуміти, чи місцями взагалі користувалися.
Як виглядає часткове повернення
Apple додала REFUND_PRORATED і revocationPercentage у грудні 2025 року. У відповіді на consumption request можна попросити такий результат через refundPreference зі значенням GRANT_PRORATED. Для автопоновлюваної підписки Apple просить не надсилати consumptionPercentage разом із GRANT_PRORATED, бо сама розраховує відсоток. Якщо повернення згодом скасують, revocationPercentage зникне з транзакції.
Чи можу я подовжити підписку одному працівнику як жест доброї волі?
Ні. Extend a Subscription Renewal Date повертає AssignedSubscriptionExtensionIneligibleError для призначеної підписки. Apple пояснює це тим, що призначена підписка поновлюється за тим самим графіком, що й підписка, куплена покупцем, тож окремого учасника зсунути не можна.
Скільки вам коштує повернення за багатомісну підписку
Новий ризик полягає в масштабі. У сесії Apple на WWDC розбирають гуртові ціни з не більше ніж п’ятьма ціновими рівнями. У прикладі місця коштують $19.99 на місяць до 20 місць, $13.99 за місця з 21 по 40 і $10.99 починаючи з 41-го місця. За таких цифр замовлення на 50 місць коштує $789.50 на місяць, приблизно $15.79 за місце. REFUND_FULL за цією однією транзакцією повертає всі $789.50, а не ціну однієї підписки.
Витрати на обслуговування зростають так само. П’ятдесят місць означають п’ятдесят людей, які запускають сесії на ваших серверах, роблять виклики сторонніх API, що їх оплачують ваші функції, і заповнюють сховище, за яке вам виставляють рахунок. Якщо власники місць із поверненого замовлення збережуть доступ, бо ваш обробник подивився лише на транзакцію покупця, ви й далі платитимете за кожного з них. Пропущений ASSIGNMENT_REVOKE обходиться дешевше, але трапляється частіше: покупка більше не покриває цю людину, і кожен її запит це витрата без доходу.
| Подія | Рух грошей | Який доступ закрити | Які докази можна надіслати |
|---|---|---|---|
| ASSIGNMENT_REVOKE в учасника | Не повідомляється | Цьому учаснику | Не застосовується |
| REFUND_FULL за багатомісною покупкою | Уся транзакція, усі місця в ній | Покупцю і кожному власнику місця | Лише транзакція покупця, протягом 12 годин після CONSUMPTION_REQUEST |
| REFUND_PRORATED за багатомісною покупкою | Частка з revocationPercentage | Залежить від того, що покриває повернення | Лише транзакція покупця |
| Відповідь consumption за призначеною транзакцією | Не приймається | Не застосовується | Відхиляється з InvalidAssignedTransactionNotSupportedError |
Які процеси повернення взагалі вислуховують вашу сторону
Багатомісні підписки не змінюють короткий список. Докази в розробника запитують лише два процеси повернення: CONSUMPTION_REQUEST від Apple, на який відповідають через Send Consumption Information протягом 12 годин, і перевірка чарджбеків у Google Play, на яку відповідають через orders.reviewrefund протягом 24 годин. Усе інше вирішується без вас. Для замовлень у Google Play, оформлених після 3 серпня 2026 року, чарджбек коштує розробнику ціну покупки за вирахуванням сервісного збору Play плюс збори банку за чарджбек. RefundHalt відповідає на consumption requests від Apple у межах 12-годинного вікна, використовуючи дані про використання, які ви вже збираєте.
Що змінити в обробнику App Store цього тижня
- Читайте quantity в кожній транзакції підписки й зберігайте його разом із покупкою.
- Зберігайте inAppOwnershipType і обробляйте ASSIGNED як окремий випадок поряд із PURCHASED і FAMILY_SHARED.
- Розгалужуйте обробку REVOKE за revocationType, щоб ASSIGNMENT_REVOKE закривав доступ без проведення повернення.
- Проводьте REFUND_PRORATED за часткою з revocationPercentage, а не як повне повернення.
- Перевіряйте ASSIGNED перед викликом Send Consumption Information, Set App Account Token або Extend a Subscription Renewal Date.
- Вирішіть в App Store Connect, чи хочете ви взагалі продавати організаціям, перш ніж одна з них купить 50 місць.
Поширені запитання
- Чи увімкнені багатомісні підписки Apple для мого застосунку?
- Найімовірніше, так. Apple увімкнула багатомісні покупки за замовчуванням в App Store Connect. Підписки, створені до 14 вересня 2026 року, спочатку вимкнені, лише якщо вони не використовують StoreKit 2 або мають увімкнений Сімейний доступ, а підписки в замовних застосунках вимкнути не можна. Перевірити це можна в розділі Purchase Options на сторінці кожної підписки.
- Чи означає сповіщення REVOKE з ASSIGNMENT_REVOKE, що я втратив гроші?
- Ні. ASSIGNMENT_REVOKE означає, що організація або груповий покупець відкликав підписку в однієї людини. Apple просить закрити цій людині доступ, але подія не повідомляє про повернення. Проводьте повернення лише за REFUND_FULL або REFUND_PRORATED.
- Чи можна надіслати дані про споживання для працівника з призначеним місцем?
- Ні. Ендпоінт Apple Send Consumption Information повертає InvalidAssignedTransactionNotSupportedError для транзакцій, які організація або група призначила клієнту. Спершу перевірте, чи не дорівнює inAppOwnershipType значенню ASSIGNED, і надсилайте докази за транзакцією покупця.
- Як дізнатися, яку частину багатомісної покупки повернула Apple?
- Прочитайте revocationType і revocationPercentage у транзакції. REFUND_FULL означає, що повернено всю транзакцію. REFUND_PRORATED надходить із revocationPercentage у тисячних частках, тобто 40000 означає 40 відсотків транзакції.
- Коли запускаються Group Purchases від Apple?
- За словами Apple, Group Purchases, де один клієнт App Store купує кілька місць і запрошує інших, можна налаштовувати й тестувати в пісочниці з листопада 2026 року, а в App Store вони стануть доступні цієї зими. Volume Purchasing для компаній і шкіл запущено 22 жовтня 2026 року.
Джерела та додаткове читання
- 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
Автопілот повернень для App Store і Google Play
Читайте далі
Надмірні запити на повернення коштують дорожче за самі повернення: обидва магазини застосунків вважають їх сигналом якості
Правило 5.6.4 Apple прямо називає надмірні запити на повернення ознакою того, що застосунок не відповідає стандартам якості, а угода Google про розповсюдження дозволяє видаляти застосунки нових розробників через частку повернень. Розбираємо, що пише кожен магазин, скільки коштує видалення і як не потрапити під удар.
Перевіряйте серверні сповіщення App Store, перш ніж діяти щодо повернення коштів, бо надіслати запит на ваш webhook URL може будь-хто
Сповіщення про повернення коштів залишається звичайним HTTPS-запитом, доки ви не перевірите його підпис. Пояснюємо, як перевіряти серверні сповіщення App Store і повідомлення Google Play RTDN, що саме підписує кожен магазин і скільки коштує підроблене або помилково відхилене повернення.