Возврат по месячной подписке Apple с 12-месячным обязательством может закончить весь год или только один его месяц
В месячной подписке с 12-месячным обязательством Apple делит возвраты на два случая. Возврат за прошлый месяц не останавливает списания. Возврат за текущий месяц сразу прекращает обязательство. Разбираем, как каждый случай приходит на ваш сервер, во что он обходится и что отправлять в Apple.

Главное
- В месячной подписке Apple с 12-месячным обязательством возврат за прошлый расчетный период отзывает только транзакцию этого месяца. Клиент остается подписчиком, списания идут по графику.
- Когда Apple возвращает деньги за текущий расчетный период месячной подписки с 12-месячным обязательством, обязательство сразу прекращается, и оставшиеся ежемесячные платежи уже не списываются.
- Клиент, который отменяет план с 12-месячным обязательством, отменяет продление обязательства, а не оставшиеся платежи. Apple продолжает списывать деньги каждый месяц и отправляет EXPIRED только после 12-го периода.
- Billing Grace Period (льготный период при проблемах с оплатой) не применяется к месячным подпискам с 12-месячным обязательством. Apple советует отзывать доступ при DID_FAIL_TO_RENEW и возвращать его при DID_RENEW с подтипом BILLING_RECOVERY.
- Если Apple не удается получить неудавшийся ежемесячный платеж по плану с 12-месячным обязательством в течение 90 дней, обязательство прекращается, и отзыв доступа становится окончательным.
- Запрос на возврат по плану с обязательством вызывает CONSUMPTION_REQUEST. Apple просит в течение 12 часов прислать данные об использовании и предпочтение по возврату за этот расчетный период.
- Переход с плана с 12-месячным обязательством на более высокий уровень сразу прекращает обязательство. Клиент может получить пропорциональный возврат за неиспользованную часть текущего периода.
Один одобренный возврат по месячной подписке Apple с 12-месячным обязательством может вернуть один платеж, а может отменить все платежи, оставшиеся до конца года. Что именно произойдет, зависит от детали, которую большинство серверного кода не проверяет: является ли возвращенный месяц текущим. В документации Apple это сказано прямо. Возврат за прошлый расчетный период оставляет обязательство в силе. Возврат за текущий период сразу его прекращает. Если обрабатывать оба случая одинаково, вы либо отключите клиента, который все еще платит, либо продолжите обслуживать того, кто уже не платит.
Как устроены списания в плане Apple с 12-месячным обязательством
Apple запустила эту опцию в апреле 2026 года. Это не новый тип продукта. Вы добавляете ежемесячный план оплаты к существующей годовой автовозобновляемой подписке в App Store Connect, и идентификатор продукта остается прежним. Клиент платит каждый месяц, обязался внести 12 платежей, а после последнего платежа обязательство продлевается еще на 12 месяцев, если клиент не отменит его раньше.
| Правило | Что говорит документация Apple |
|---|---|
| Где продается | Во всех витринах, кроме Соединенных Штатов и Сингапура |
| Устройства и SDK | OS 26.4 или новее, кроме watchOS, в приложениях, собранных с SDK 26.5 или новее |
| Ограничения цены | Сумма за 12 месяцев должна быть не меньше годовой цены при предоплате и не больше 1,5 раза от нее |
| Обязательное условие | Годовая предоплата должна быть настроена в стране до того, как там можно будет предложить ежемесячную оплату |
| Как это выглядит в данных | billingPlanType равен MONTHLY, а commitmentInfo содержит billingPeriodNumber, totalBillingPeriods, commitmentExpiresDate и commitmentPrice |
| Если вы уберете опцию | Текущие клиенты не продлят обязательство по его окончании, а новые клиенты не смогут ее выбрать |
Каждый расчетный период создает отдельную транзакцию и дает месяц доступа. Именно эта деталь определяет поведение возвратов. Apple возвращает деньги по транзакциям, а в плане с обязательством каждый месяц это отдельная транзакция.
Что возврат делает с 12-месячным обязательством
Руководство Apple по жизненному циклу обязательства делит возвраты на два случая. Разница в том, к какому расчетному периоду относится возврат.
| Возврат относится к | Что происходит с обязательством | Где это видно | Что должен сделать ваш сервер |
|---|---|---|---|
| Прошлому расчетному периоду | Продолжается без изменений. Списания идут по графику | revocationDate в транзакции этого периода | Отозвать только эту транзакцию. Оставить подписку активной |
| Текущему расчетному периоду | Сразу прекращается | revocationDate в последней транзакции | Закрыть доступ. Новых платежей не будет |
| Переходу на более высокий уровень | Сразу прекращается, начинается новый план | DID_CHANGE_RENEWAL_PREF, подтип UPGRADE | Переключить права доступа. Может последовать пропорциональный возврат за неиспользованный период |
Отменяет ли возврат за второй месяц остаток года?
Нет, если второй месяц уже в прошлом. Допустим, клиент находится в пятом месяце, и Apple возвращает ему платеж за второй. Apple отзывает транзакцию второго месяца, а клиент остается подписчиком. Списания за месяцы с шестого по двенадцатый продолжаются. Apple здесь говорит однозначно: проверьте revocationDate в затронутой транзакции, но не считайте его отменой обязательства.
Когда возврат прекращает обязательство
Если возврат относится к текущему расчетному периоду, обязательство прекращается сразу. Сигнал для этого: revocationDate в последней транзакции. Если он есть, текущий период отозван, новых платежей не будет, а значит, доступ тоже заканчивается.
Переход на другой план тоже может вернуть деньги
Apple отмечает, что клиенты могут получить возврат не только по запросу, но и после смены плана. Переход с плана с обязательством на подписку более высокого уровня происходит сразу. Обязательство прекращается, начинается новый план, и клиент может получить пропорциональный возврат за неиспользованную часть текущего периода обязательства. Переход на более низкий уровень работает наоборот. Он ждет, пока 12-месячное обязательство не завершится.
Отмена не равна возврату
Клиент, который нажимает Отменить в плане с 12-месячным обязательством, не перестает платить. По словам Apple, он отменяет продление обязательства, а не оставшиеся платежи в текущем сроке. Вот что приходит на ваш сервер.
- Apple отправляет DID_CHANGE_RENEWAL_STATUS с подтипом AUTO_RENEW_DISABLED.
- Статус автопродления обязательства падает до 0, поэтому обязательство не продлится по окончании срока.
- В данных о продлении подписки willAutoRenew по-прежнему равен 1, потому что ежемесячные списания продолжаются.
- Уведомления DID_RENEW продолжают приходить за каждый оставшийся месяц. EXPIRED приходит после 12-го периода, и только тогда доступ заканчивается.
Apple советует разработчикам проверять тип плана оплаты перед запуском обычной логики отмены. Если это MONTHLY, ничего не отзывайте. Предоставляйте доступ за каждый оставшийся расчетный период.
Есть одно региональное исключение. В App Store Connect Help сказано, что клиент, отменивший подписку, платит до завершения обязательства, кроме некоторых регионов, и дана ссылка на страницу Apple об отмене подписок в Германии, Израиле, Южно-Африканской Республике и Турции. В этих четырех странах клиенты вправе в любой момент отменить подписку с немедленным вступлением в силу и получить пропорциональный возврат.
Неудачные платежи сразу закрывают доступ
В планах с обязательством нет страховки, на которую вы, возможно, полагаетесь в других случаях. Billing Grace Period не действует. Если ежемесячное продление не удалось, Apple велит отозвать доступ, пока подписка находится в режиме повторных попыток оплаты, и вернуть его, только если платеж пройдет.
| Уведомление | Что оно сообщает | Что делать |
|---|---|---|
| DID_FAIL_TO_RENEW | isInBillingRetryPeriod равен true | Отозвать доступ сейчас |
| DID_RENEW, подтип BILLING_RECOVERY | commitmentExpiresDate сдвигается с учетом даты восстановления платежа | Вернуть доступ и сохранить новую дату окончания |
| EXPIRED, подтип BILLING_RETRY | Apple не удалось получить платеж в течение 90 дней | Обязательство завершено. Ваш прежний отзыв доступа окончателен |
После восстановления платежа прочитайте commitmentExpiresDate из последней транзакции. Она не совпадет с исходной датой окончания, и каждое следующее продление идет по сдвинутому графику.

Во что вам обходится возврат по плану с обязательством
Вот цифры на примерных ценах. Допустим, годовой план с предоплатой стоит 59,99 €, а ежемесячный вариант с обязательством 6,99 €, что дает 83,88 € за 12 месяцев. Это укладывается в лимит Apple в 1,5 раза от цены с предоплатой.
| Сценарий, клиент в 4-м месяце | Возвращенные платежи | Потерянные будущие платежи | Потерянная стоимость обязательства |
|---|---|---|---|
| Apple возвращает месяц 2 | 6,99 € | Нет. Месяцы с 5 по 12 по-прежнему списываются | 6,99 € |
| Apple возвращает месяц 4, текущий период | 6,99 € | 55,92 €, восемь платежей, которые не будут списаны | 62,91 € |
| Клиент отменяет, без возврата | Нет | Нет. Месяцы с 5 по 12 по-прежнему списываются | 0 € |
| Клиент в Германии отменяет | Пропорциональная часть месяца 4 | 55,92 € | До 62,91 € |
Это цены для клиента. На самом деле вы теряете свою долю каждого платежа. Apple выплачивает 70% цены подписки за вычетом применимых налогов в первый год платного обслуживания подписчика и 85% после этого, а также участникам App Store Small Business Program.
Возврат это только половина счета. Месяц доступа обслуживать не бесплатно. Если ваше приложение запускает генерации ИИ, вызывает платные сторонние API или хранит файлы клиентов, за эти вычисления, вызовы и хранилище в возвращенном месяце заплатили вы. Возврат за прошлый месяц отдает платеж обратно, а расходы остаются на вас. Возврат за текущий месяц делает то же самое и вдобавок вычеркивает остаток года из вашего прогноза.
Как отвечать на CONSUMPTION_REQUEST по плану с обязательством
Это единственный момент, когда у вас есть право голоса. Когда клиент запрашивает возврат по плану с обязательством, Apple отправляет CONSUMPTION_REQUEST на ваш эндпоинт App Store Server Notifications V2. Вы отвечаете через Send Consumption Information, и Apple просит ответить в течение 12 часов. Ответ содержит данные об использовании и ваше предпочтение по возврату за этот расчетный период, а не за все обязательство.
- Отправляйте данные только с согласия клиента. Согласно документации Apple, без согласия на запрос вообще не следует отвечать.
- Не передавайте consumptionPercentage. API возвращает ConsumptionPercentageAutoRenewableSubscriptionError, если отправить его для автовозобновляемой подписки.
- Основывайте предпочтение по возврату на использовании в этом месяце. Клиент, который в спорном месяце запустил 300 платных генераций, оставил след реальных расходов. Тот, кто ни разу не открыл приложение, нет.
- Смотрите, к какому периоду относится запрос. Запрос за текущий период, если Apple его одобрит, прекращает обязательство. Запрос за прошлый период нет.
Что должен обрабатывать ваш сервер
- Читайте billingPlanType в каждой транзакции и каждом уведомлении о продлении. MONTHLY означает, что действуют правила обязательства.
- Предоставляйте доступ по expirationDate транзакции. По словам Apple, дата окончания в commitmentInfo нужна для отображения прогресса, а не для решения о доступе.
- При возврате проверьте, есть ли revocationDate в последней транзакции, прежде чем завершать подписку.
- При отмене сохраняйте доступ, пока после 12-го периода не придет EXPIRED.
- При DID_FAIL_TO_RENEW отзывайте доступ сразу. Не ждите льготного периода, которого не будет.
- Заново сохраняйте commitmentExpiresDate после каждого BILLING_RECOVERY.
Apple принимает решение по каждому возврату в App Store, поэтому CONSUMPTION_REQUEST это ваш единственный шанс показать данные об использовании. RefundHalt отвечает на эти запросы автоматически в пределах 12-часового окна и фиксирует, к какому расчетному периоду относится каждый возврат, поэтому возврат за прошлый месяц никогда не примут за потерянного подписчика.
Частые вопросы
- Что происходит, когда Apple возвращает один платеж месячной подписки с 12-месячным обязательством?
- Это зависит от расчетного периода. Возврат за прошлый период отзывает только транзакцию этого месяца, и обязательство продолжается со списаниями по графику. Возврат за текущий период сразу прекращает обязательство, поэтому оставшиеся платежи не будут списаны.
- Могут ли клиенты досрочно отменить месячную подписку Apple с 12-месячным обязательством?
- Отменить могут, но отмена останавливает продление обязательства, а не оставшиеся платежи. Списания продолжаются все 12 периодов, и доступ вместе с ними. В App Store Connect Help указаны исключения для некоторых регионов, а на странице поддержки Apple сказано, что клиенты в Германии, Израиле, Южно-Африканской Республике и Турции могут отменить подписку с немедленным вступлением в силу и получить пропорциональный возврат.
- Применяется ли Billing Grace Period к планам с 12-месячным обязательством?
- Нет. По словам Apple, Billing Grace Period не применяется к месячным подпискам с 12-месячным обязательством. Отзывайте доступ при получении DID_FAIL_TO_RENEW, возвращайте его при DID_RENEW с подтипом BILLING_RECOVERY и считайте EXPIRED с подтипом BILLING_RETRY через 90 дней окончательным.
- Приходит ли CONSUMPTION_REQUEST по плану с 12-месячным обязательством?
- Да. Запрос на возврат по плану с обязательством отправляет CONSUMPTION_REQUEST на ваш эндпоинт App Store Server Notifications V2. Ответьте в течение 12 часов, передав данные об использовании и предпочтение по возврату за этот расчетный период, и только если клиент согласился на передачу данных Apple.
- Доступна ли месячная подписка с 12-месячным обязательством в Соединенных Штатах?
- Нет. Apple предлагает ее во всех витринах App Store, кроме Соединенных Штатов и Сингапура, на OS 26.4 или новее, кроме watchOS, в приложениях, собранных с SDK 26.5 или новее.
Источники и дополнительное чтение
- Apple Developer News: Now Available: Monthly Subscriptions with a 12-Month Commitment (April 27, 2026)
- Apple Developer Documentation: Managing the life cycle of monthly subscriptions with a 12-month commitment
- Apple Developer Documentation: Supporting monthly subscriptions with a 12-month commitment
- App Store Connect Help: Set availability for an auto-renewable subscription (monthly with 12-month commitment)
- Apple Support: About canceling subscriptions in Germany, Israel, South Africa, or Türkiye
- Apple Developer Documentation: Send Consumption Information
- Apple Developer Documentation: App Store Server Notifications notificationType
- Apple Developer: Auto-renewable subscriptions (net revenue after one year of paid service)
- Apple Developer: What's new in Apple In-App Purchase (WWDC26)
RefundHalt
Автопилот возвратов для App Store и Google Play
Читайте дальше
Политика возвратов вашего приложения не может отменить правила Apple или Google, поэтому пишите ту, что соответствует реальности
Политика возвратов приложения обязывает вас только там, где возвраты оформляете вы сами. Apple сама возвращает деньги за любую покупку в App Store, а Google Play через 48 часов передает возвраты вам. Разбираем, что говорит каждое соглашение, во что обходится неосторожное обещание и какие пункты стоит прописать.
От того, как вы ответите на запрос о возврате, зависит, закончится он возвратом или чарджбэком
Когда клиент пишет вам письмо или оставляет отзыв с просьбой вернуть деньги, правильный ответ зависит от того, какой магазин продал покупку. Разбираем, кто принимает решение, какие сроки вас связывают, во что обходится каждый исход и какие ответы закрывают вопрос.