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

Главное
- Отмена подписки и возврат по ней, это разные события. Отмена останавливает следующее продление и не возвращает ничего. Возврат отменяет уже прошедший платёж и отдаёт деньги обратно.
- Когда клиент отменяет подписку, он сохраняет доступ до конца уже оплаченного периода. Google Play прямо указывает: годовой план, купленный 1 января и отменённый 1 июля, работает до 31 декабря, и в следующем январе списания не будет.
- Отмена не стоит вам ничего в защите. Это будущая выручка, которую вы не получите, а не изъятие уже учтённой продажи, и она никогда не открывает окно для доказательств на вашем сервере.
- Возврат, это изъятие. Магазин возвращает клиенту свою комиссию вместе с вашей чистой выручкой, клиент теряет доступ, а вычислительные ресурсы, вызовы API, хранилище и выплаты, которые вы уже потратили, так и остаются потраченными.
- Прошлые списания по подписке обычно вообще не подлежат возврату. Google Play сообщает, что прошлые подписки не возвращаются за пределами указанных исключений, а Apple рассматривает каждый запрос на возврат отдельно и может его отклонить.
- Только возврат вообще может дойти до вас для представления доказательств, и то лишь по некоторым продуктам. С момента обновления WWDC24 возврат по автопродлеваемой подписке запускает у Apple CONSUMPTION_REQUEST с окном в 12 hours. Отмена не запускает ничего.
- Подсчёт отмен внутри ваших цифр по возвратам скрывает правду. Отмена, это сигнал удержания, а возврат, это событие затрат, поэтому измеряйте их порознь, иначе ваша доля возвратов будет вам лгать.
Для вашего клиента отмена подписки и запрос возврата ощущаются как одно и то же действие, но это не так. Отмените подписку, и магазин просто остановит следующее списание. Клиент сохраняет то, за что уже заплатил, до конца периода, и деньги не переходят из рук в руки. Запросите возврат, и магазин отменит уже прошедший платёж, вернёт деньги и заберёт доступ вместе с ними. Одно, это отток, который вы никогда не учитываете как убыток. Другое, это изъятие, которое забирает реальную выручку с продажи, уже занесённой в книги. Вот где именно эти два пути расходятся, что каждый делает с вашей выручкой и почему только возврат когда-либо доходит до вашего сервера как нечто, на что можно ответить.
Почему отмена подписки не запускает возврат
Отмена, это одно узкое действие: она выключает следующее автоматическое продление. Она не отменяет уже сделанный клиентом платёж и не обрезает его доступ на месте. Оба магазина говорят об этом прямо, потому что путаница настолько распространена, что они отвечают на неё на первой же странице помощи, до которой доходит клиент.
Google Play разъясняет это на примере. Отмените годовой план, купленный 1 января, и, по словам Google, вы сохраняете доступ к подписке до 31 декабря, а в следующем январе списания не будет. Apple работает так же: отмена останавливает продление, и подписка действует до конца текущего периода, прежде чем прекратиться. Ни один магазин не считает саму отмену возвратом, и ни один не возвращает никакой части того, что клиент уже заплатил.
Клиент сохраняет то, за что уже заплатил
Именно это удивляет людей. Отмена обращена в будущее. Она завершает отношения на следующую дату списания, а не сегодня. Google Play формулирует это прямо: когда вы отменяете подписку, вы всё ещё можете пользоваться ею в течение уже оплаченного времени. Деньги за текущий период остаются с продажей, а клиент сохраняет купленный доступ. В этой транзакции ничего не отменяется.
Бесплатный пробный период, это единственное место, где важен момент отмены
Бесплатный пробный период, это место, где отмена и списание сталкиваются. Пробный период автоматически переходит в платную подписку, если только клиент не отменит его до окончания. Собственная рекомендация Apple, отменять бесплатный пробный период как минимум за 24 hours до его завершения, потому что отмена, поданная после того, как пробный период уже перешёл в платный, не отменяет списание. В этот момент у клиента уже нет вопроса об отмене. У него вопрос о возврате, и ответ строится по правилам возврата, а не отмены.
Что возврат на самом деле отменяет, а что нет
Возврат, это поток, который двигает деньги. Когда магазин предоставляет его, он отменяет платёж, возвращает средства клиенту и отзывает товар. Google Play говорит об этом прямо: если возврат оформлен, клиент теряет доступ к товару. Возврат, это не любезность, наложенная поверх отмены. Это отдельный запрос со своим окном, своим лицом, принимающим решение, и своими последствиями для ваших книг.
Окна короткие, и решение не за вами. Google Play предлагает самостоятельный возврат только в течение 48 hours с момента покупки, а после этого запрос направляется разработчику. Google также ограничивает самостоятельный возврат до одного раза на приложение и предупреждает, что не возвращает деньги за большинство покупок в Play. Apple полностью держит возвраты в собственных руках: клиент подаёт запрос на reportaproblem.apple.com, Apple рассматривает каждый запрос отдельно и может его отклонить. Прошлые списания по подписке, это самый сложный случай из всех. Google Play сообщает, что прошлые подписки не возвращаются за пределами указанных исключений, таких как неиспользованный предоплаченный план.
| Событие | Возврат денег | Доступ | Кто решает | Доходит до вашего сервера |
|---|---|---|---|---|
| Отмена | Нет | Сохраняется до конца оплаченного периода | Клиент | Нет |
| Возврат | Да, платёж отменяется | Отзывается при оформлении возврата | Магазин, Apple или Google | Да, как уведомление о возврате |
| Чарджбэк | Да, и это окончательно на уровне банка | Отзывается, и спор идёт с банком | Банк клиента | Да, с окном для рассмотрения |
Деньги, и почему отмена и возврат обходятся вам совершенно по-разному
Эти два события ложатся на ваши финансы противоположным образом. Рассматривать их как одно и то же число, это способ, которым здоровый бизнес загоняет себя в панику, а протекающий скрывает свою настоящую проблему.
Отмена, это упущенная будущая выручка, а не убыток в книгах
Отмена не стоит вам ничего из уже заработанного. Выручка за периоды, которые клиент оплатил, остаётся вашей. Вы теряете выручку, которую собрали бы, если бы он продолжал продлевать, а это вопрос пожизненной ценности, а не изъятия. Нет комиссии магазина для отмены, нет привязанного сбора и нет затрат для списания, потому что уже прошедшие продажи по-прежнему реальны. Отмена, это проблема удержания, которую решают продуктом и ценообразованием, и она ни разу не просит у вас доказательств.
Возврат забирает выручку, которую вы уже учли, плюс затраты, стоящие за ней
Возврат, это дорогое событие. Когда магазин предоставляет его, он отменяет свою комиссию вместе с продажей, так что вы теряете чистую выручку, а не полную ценник. Это единственная хорошая новость, и на этом она заканчивается. Вычислительные ресурсы, за которые вы заплатили, потрачены. Вызовы API, оплачиваемые за запрос или за токен, потрачены. Файлы, всё ещё лежащие в хранилище, по-прежнему стоят вам денег за хранение. Если покупка финансировала выплату автору или призовой фонд, эти деньги уже ушли. Возврат отзывает продажу и оставляет каждую из этих затрат ровно там, где они были.
Чарджбэк, это самая тяжёлая версия возврата
Чарджбэк, это возврат, который клиент проводит через свой банк, а не через магазин, и завершённый чарджбэк окончателен на уровне банка. Для заказов Google Play, размещённых 3 августа 2026 года или позже, проигранный чарджбэк списывает с разработчика цену покупки за вычетом сервисного сбора Play плюс банковский сбор за чарджбэк, фиксированную сумму, устанавливаемую платёжной сетью. Google Play направляет этот спор вам на рассмотрение через orders.reviewrefund с окном в 24 hours. Это единственный поток Google, который просит ваши доказательства, и он может лечь на подписку, которую клиент мог просто отменить бесплатно.

Что из трёх вообще доходит до вашего сервера
Именно эта черта важна для того, как вы строите систему. Отмена никогда не приходит как нечто, на что вы отвечаете. Она проявляется в состоянии вашей подписки как продление, которого не будет, и нет окна, нет запроса на доказательства и нечего оспаривать, потому что у вас ничего не забрали.
Возврат, это другое дело, и то лишь по некоторым продуктам. С момента обновления WWDC24 и App Store Server Notifications version 2.11 запрос на возврат по автопродлеваемой подписке запускает у Apple CONSUMPTION_REQUEST, и у вас есть до 12 hours, чтобы отправить данные о потреблении. В Google Play чарджбэк по любому продукту открывает рассмотрение orders.reviewrefund с окном в 24 hours. Эти два окна, это вся поверхность, где проблема с подпиской становится тем, на что ваш сервер может ответить, а простая отмена не открывает ни одного из них. Отдельно Google Play автоматически возвращает деньги за покупку, которую ваше приложение не подтвердит в течение 72 hours, а на такой возврат вы вообще никак не могли повлиять.
Как обращаться с отменами и возвратами в собственных данных
Вы не можете помешать клиенту отменить подписку, и не стоит пытаться рассматривать каждую отмену как возврат, который надо защищать. Работа в том, чтобы чисто отличать одно от другого.
- Считайте отмены и возвраты как отдельные метрики. Отмена относится к оттоку и удержанию. Возврат относится к себестоимости выручки. Смешайте их, и ваша доля возвратов будет читаться высокой по причине, которая на самом деле просто отток.
- Никогда не стройте защиту вокруг отмен. Они не открывают окна и не забирают учтённых денег, так что доказательствам некуда идти. Направьте эти усилия на два потока, которые действительно спрашивают.
- Фиксируйте доставку и потребление в момент продажи, а не после того, как ляжет спор. Возвраты, которые всё же открывают окно, вознаграждают телеметрию, которая у вас уже есть, и наказывают восстановление данных, которое вы судорожно собираете под часами в 12 hours или 24 hours.
- Отвечайте на два окна автоматически. CONSUMPTION_REQUEST и рассмотрение orders.reviewrefund не могут ждать, пока кто-то прочитает почту, и они не продлеваются из-за часовых поясов или выходных.
Всё это не о том, чтобы отговорить клиента уйти. Это о том, чтобы знать, какие уходы стоят вам денег, а какие стоят лишь продления. RefundHalt автоматически отвечает на CONSUMPTION_REQUEST по автопродлеваемым подпискам и на рассмотрение Google Play orders.reviewrefund, внутри окна, с доказательствами доставки и использования, которые вы зафиксировали в момент продажи, и держит отмены вне вашего реестра возвратов, чтобы число, по которому вы судите о себе, оставалось честным.
Частые вопросы
- Если я отменю подписку, получу ли я возврат?
- Нет. Отмена подписки только останавливает следующее продление. Она не отменяет уже сделанный вами платёж, и Apple, и Google позволяют вам сохранить доступ до конца оплаченного периода. Возврат, это отдельный запрос со своими правилами, и по прошлому списанию за подписку его часто отклоняют.
- Останавливает ли отмена подписки мой доступ немедленно?
- Нет. Отмена обращена в будущее. Вы сохраняете подписку до конца текущего периода списания, а затем она перестаёт продлеваться. Google Play приводит пример годового плана, купленного 1 января и отменённого 1 июля, который всё равно работает до 31 декабря.
- Могу ли я получить возврат после отмены подписки?
- Отмена и возврат, это отдельные действия, поэтому отмена сначала не запускает возврат. Вам всё равно придётся запросить возврат, а прошлые списания за подписку обычно не подлежат возврату. Google Play ограничивает самостоятельные возвраты 48 hours после покупки, а Apple рассматривает каждый запрос отдельно и может его отклонить.
- Доходит ли отмена до сервера разработчика так же, как возврат?
- Нет. Отмена проявляется лишь как продление, которого не будет, без окна для доказательств и без чего-либо для оспаривания. Возврат может дойти до вашего сервера, и по автопродлеваемой подписке возврат запускает у Apple CONSUMPTION_REQUEST с окном в 12 hours с момента обновления WWDC24.
- Почему моему приложению стоит считать отмены и возвраты отдельно?
- Потому что они обходятся вам по-разному. Отмена, это упущенная будущая выручка, и она относится к оттоку. Возврат, это изъятие уже учтённой выручки плюс затрат за ней, и он относится к себестоимости выручки. Их смешение раздувает вашу долю возвратов тем, что на самом деле просто отток.
Источники и дополнительное чтение
- Google Play Help: Cancel, pause, or change a subscription on Google Play
- Google Play Help: Apps, games, and in-app purchases refund policies
- Apple Support: If you want to cancel a subscription from Apple
- Apple Support: Request a refund for apps or content that you bought from Apple
- Android Developers: About subscriptions (Play Billing)
- WWDC24: Explore App Store server APIs for In-App Purchase
RefundHalt
Автопилот возвратов для App Store и Google Play
Читайте дальше
Каждый тип внутренней покупки возвращается по-своему, и только два из них вообще спрашивают вашу сторону
Расходуемые покупки, нерасходуемые покупки, автопродлеваемые подписки и непродлеваемые подписки возвращаются каждая по своим правилам. Одни можно восстановить, другие исчезают, как только потрачены, и только запрос по расходуемым и запрос по подписке вообще просят у разработчика доказательства. Вот как тип внутренней покупки, который вы продаёте, меняет то, что возврат делает с вами.
Законы о возврате средств за приложения меняются в зависимости от страны клиента, и почти ни один из них не даёт вам права голоса
Законы о возврате средств за приложения различаются между ЕС, Великобританией и США, но для большинства продаж приложений результат один и тот же. 14-дневное право на отказ в ЕС обычно аннулируется при оформлении покупки, покупатели в США полагаются на политику магазина, и ни один законный возврат не даёт вам возможности ответить. Лишь два магазинных потока когда-либо спрашивают вашу сторону.