Возвраты за расходуемые встроенные покупки обходятся вдвое дороже, потому что деньги на их доставку вы уже потратили
Расходуемая встроенная покупка, набор монет, связка самоцветов, пачка кредитов ИИ, это единственная покупка, на доставку которой вы уже потратили деньги до того, как её попросят вернуть. Вот сколько возврат за расходуемое стоит вам в App Store и Google Play, и то единственное окно, когда ваш ответ действительно имеет значение.

Главное
- Расходуемая встроенная покупка расходуется в тот же миг, когда её покупают. Монеты, самоцветы, кредиты и пакеты генераций превращаются в вычисления, вызовы API и доставленный контент ещё до того, как клиент задумается о возврате, поэтому возврат за расходуемое отменяет цену, но никогда не отменяет уже понесённые вами затраты.
- В App Store вы не можете ни оформить, ни заблокировать возврат за расходуемое. Apple решает по каждому через reportaproblem.apple.com. Ваше единственное участие, это уведомление CONSUMPTION_REQUEST, которое даёт вам 12 hours, чтобы отправить информацию о потреблении обратно.
- CONSUMPTION_REQUEST срабатывает для расходуемых и для автопродлеваемых подписок, и для расходуемого ваш ответ значит больше, потому что Apple не может вывести потребление из истёкшего времени так, как делает это для подписки. Сообщаемые вами consumptionStatus и consumptionPercentage и есть фактическое доказательство.
- consumptionStatus принимает четыре значения: 0 не заявлено, 1 не потреблено, 2 частично потреблено, 3 полностью потреблено. consumptionPercentage, это целое число в миллидолях, где 100,000 означает 100 процентов потреблено. Полностью потреблённое расходуемое, это самый весомый аргумент, который вы можете привести против возврата.
- В Google Play вы можете сами вернуть деньги за расходуемое из Play Console или через Order Management API, с необязательным отзывом, но самостоятельный возврат Google в течение 48 hours происходит вообще без вашего ведома, а потраченное расходуемое нельзя вытащить обратно из вашей экономики задним числом.
- Единственный процесс в Google Play, где спрашивают вашу сторону спора о расходуемом, это разбор чарджбэка через orders.reviewrefund, и на ответ у вас есть 24 hours. Всё, что быстрее этого, решается без вас.
- С August 3, 2026, чарджбэк в Google Play перекладывает на разработчика цену покупки за вычетом сервисного сбора Play плюс банковский сбор за чарджбэк. На расходуемом, которое вы уже доставили, это превращает один спорный набор монет в убыток больше самой продажи.
Любой возврат бьёт больно, но возврат за расходуемую встроенную покупку, это тот, что забирает деньги после того, как вы их уже потратили. Возврат за подписку отменяет доступ, который можно отключить. Возврат за нерасходуемое забирает постоянную разблокировку. Расходуемое, это другое. Набор монет, связка самоцветов, пачка кредитов на изображения ИИ, буст, расходуется в момент попадания на баланс клиента, и к тому времени, как появляется запрос на возврат, монеты уже потрачены, кредиты сожжены, а вычисления, которые дали результат, уже выставлены вам в счёт. Именно это делает расходуемые самой острой проблемой возвратов в приложении, и именно поэтому привычный совет доказывать ценность здесь вас не спасает.
Чем возврат за расходуемое отличается от любого другого возврата
Магазин относит каждый тип покупки к одной из трёх категорий, и возвраты ложатся на каждую по-разному. Разница не академическая. Она решает, какая доля ваших затрат вернётся.
Расходуемое тратится в момент, когда вы его доставляете
Нерасходуемое, постоянная разблокировка уровня или удаление рекламы, остаётся на аккаунте. Подписка даёт ограниченный по времени доступ, который можно отозвать. Расходуемое расходуется при использовании. Клиент покупает 1000 монет, тратит 600 на функцию, обратившуюся к вашим серверам, и эти 600 потрачены. Ценность не лежала в резерве в ожидании оценки. Она сразу превратилась в ваши оплаченные затраты.
Именно поэтому магазины изначально выстроили отдельный процесс доказательств возврата для расходуемых. По подписке магазин может рассудить, какая доля оплаченного периода истекла. По расходуемому читать нечего, часов нет. Либо вы доставили монеты и клиент их использовал, либо нет, и знает об этом только ваш сервер.
Нельзя отменить доставку того, что уже потреблено
Когда возврат по расходуемому одобрен, деньги возвращаются, но монеты сами собой не раз-тратятся. Если клиент купил пакет кредитов, сгенерировал им сорок изображений, а потом получил возврат, вы оплатили сорок генераций и не получили за них ничего. Отозвать остаток баланса, это максимум, что вы можете сделать, и только если что-то осталось. Полностью потреблённое расходуемое не оставляет ничего, что можно забрать.
Во сколько на самом деле обходится вам возврат за расходуемую встроенную покупку
Заголовочная цифра возврата за расходуемое, это цена продажи, уходящая из ваших книг. Настоящая цифра, это цена продажи плюс всё, что вы уже потратили, превращая эту покупку в доставленную ценность. Большая часть второго слагаемого не возвращается никогда.
| Затрата | Когда вы её несёте | Возвращается при возврате |
|---|---|---|
| Вычисления или время GPU для выдачи того, что купили за монеты | При использовании, до возврата | Нет |
| Вызовы сторонних API, запущенные покупкой | При использовании | Нет |
| Хранение и трафик для доставленного результата | При использовании и после | Нет |
| Комиссия магазина с продажи | При покупке | Обычно да, магазин отменяет свою долю |
| Сама цена покупки | При покупке | Нет, вся сумма возвращается клиенту |
| Банковский сбор за чарджбэк, если дело дойдёт до спора | После списания | Нет, и в Google Play теперь его платите тоже вы |

Возврат отменяет цену, а не вычисления
Допустим, клиент покупает пакет кредитов ИИ за $9.99 и тратит их все на генерацию результата. Каждая генерация стоила вам реального вызова API. Когда Apple одобряет возврат, $9.99 уходят обратно, и Apple отменяет свою комиссию, так что ваш заявленный доход обнуляется. Ваш счёт за вычисления по этим генерациям не обнуляется. Вы его оплатили, он прошёл и остаётся оплаченным. Возврат его не тронул. Это ровно тот случай, вокруг которого построен RefundHalt, потому что истёкшее время ничего не доказывает про расходуемое, и единственная защита, это знать, что было доставлено на самом деле.
Сторона App Store, единственное окно в 12 hours, когда ваш ответ имеет значение
В App Store у вас нет переключателя возврата. Вы не можете ни одобрить возврат за расходуемое, ни отклонить его. Каждый возврат решает Apple, по одному запросу за раз, через reportaproblem.apple.com. Вместо этого вы получаете единственный шанс высказаться, и он узкий.
CONSUMPTION_REQUEST, это единственное место, где Apple вообще о чём-то вас спрашивает
Когда клиент запрашивает возврат за расходуемое, а обмен данными о потреблении для приложения включён, ваш сервер получает App Store Server Notification типа CONSUMPTION_REQUEST. После этого у вас есть 12 hours, чтобы ответить через Send Consumption Information. Пропустите окно, и решение примут без вашего участия. Apple ввела этот процесс специально для расходуемых, а в 2024 распространила то же уведомление на автопродлеваемые подписки.
Ответ несёт набор полей. Два самых важных для расходуемого описывают, какая его часть была использована и доставили ли вы его вообще.
| Поле | Что оно сообщает | Значимые значения |
|---|---|---|
| consumptionStatus | Какую часть расходуемого клиент использовал | 0 не заявлено, 1 не потреблено, 2 частично потреблено, 3 полностью потреблено |
| consumptionPercentage | Использованная доля, в миллидолях | 100,000 означает 100 процентов потреблено |
| deliveryStatus | Доставило ли ваше приложение действительно рабочий товар | доставлено, или одна из нескольких причин недоставки |
| refundPreference | Предпочтительный для вас исход | одобрить полностью, одобрить пропорционально, или отклонить |
| customerConsented | Согласился ли клиент делиться данными о потреблении | должно быть истинно, иначе Apple игнорирует остальное |
Почему ваш ответ значит больше по расходуемому, чем по подписке
По автопродлеваемой подписке Apple уже вычисляет, какая часть расчётного периода истекла, и опирается на это. Ваш ответ о потреблении чаще всего лишь подталкивает предпочтение. По расходуемому измерять нечего, истёкшего периода нет. Отправляемый вами consumptionStatus, это почти единственный сигнал о потреблении, который есть у Apple. Если ваш сервер может с уверенностью сказать, что клиент потребил 100 процентов пакета, это и есть разница между защитимой сделкой и молчаливой раздачей. Если customerConsented ложно, ничего из этого не читается, поэтому согласие нужно фиксировать в вашем процессе покупки задолго до того, как придёт запрос.
Сторона Google Play, вернуть вы можете, но товар уже ушёл
Google Play даёт разработчику больше прямого контроля, чем Apple, и пользы от него меньше, чем можно подумать, потому что самые быстрые пути возврата до вас не доходят вовсе.
Окно самообслуживания в 48 hours обходит вас полностью
В течение 48 hours после покупки клиент Google Play может запросить возврат через магазин и часто получить его автоматически, без вашего участия. Вас не спрашивают, вы не высказываетесь, и для расходуемого это значит, что монеты потрачены, а деньги ушли ещё до того, как вы узнали, что был запрос. Voided Purchases API, это то, как вы узнаёте об этом задним числом, чтобы можно было отозвать остаток права.
Возврат и отзыв, и то, что отзыв не может
Вы можете сами оформить возврат за расходуемое из Play Console или через Order Management API, с необязательным параметром отзыва, который забирает доступ. Отзыв чисто срабатывает на том, что сохраняется, на подписке или устойчивом праве. Раз-потратить расходуемое он не может. Если клиент уже превратил монеты в доставленный результат, отзыву нечего вернуть, и вы несёте затраты на выполнение без компенсирующей продажи.
Что это значит в деньгах, когда правила чарджбэков меняются
Возврат и чарджбэк, это не один и тот же убыток, и по расходуемому разрыв вот-вот увеличится. Возврат отменяет продажу и обычно возвращает комиссию магазина. Чарджбэк, это когда банк клиента силой забирает деньги обратно, и это окончательно.
С August 3, 2026, Google Play перекладывает стоимость чарджбэка на разработчика: цена покупки за вычетом сервисного сбора Play плюс банковский сбор за чарджбэк. На расходуемом, которое вы уже доставили, арифметика жестока. Вы оплатили вычисления, чтобы его выполнить, вы теряете цену покупки, и теперь платите сверху ещё и банковский сбор. Один спорный набор монет может обойтись дороже, чем принесли несколько проданных. Урок не в том, чтобы бороться с чарджбэками задним числом, что вы редко выигрываете, а в том, чтобы удерживать недовольных клиентов на пути возврата, где убыток меньше и доля магазина возвращается, вместо пути спора, где она не возвращается.
Как терять меньше на возвратах за расходуемое
Помешать магазинам делать возвраты вы не можете. Вы можете добиться того, чтобы, когда они это делают, вы доставили честно, ответили полно и могли увидеть закономерность до того, как она разрастётся.
Доставляйте на стороне сервера и фиксируйте это
Выдавайте расходуемые с вашего сервера после проверки транзакции и записывайте момент доставки и потребления против id транзакции. Именно эта запись позволяет ответить на CONSUMPTION_REQUEST правдивым consumptionStatus, а не догадкой. Расходуемое, которое вы доставили, но не можете доказать, что доставили, это возврат, который вы проиграете по умолчанию.
Отвечайте на каждый CONSUMPTION_REQUEST, и отвечайте прямо
Отвечайте в течение 12 hours, каждый раз. Сообщайте настоящий consumptionStatus. Завышение потребления по клиенту, который на самом деле не получил свои монеты, приглашает тот самый чарджбэк, которого вы пытались избежать, а чарджбэк, это более дорогой исход. Честно, полно, вовремя. В этом вся игра, и работает она только если данные уже собраны до того, как придёт запрос.
Следите за расходуемыми как за отдельной группой возвратов
Смешайте возвраты за расходуемое в общий процент возвратов, и сигнал пропадёт. Отслеживайте их отдельно. Всплеск возвратов по одному набору монет или уровню кредитов обычно указывает на конкретную проблему, сломанное использование, вводящую в заблуждение цену, пакет, который выдаёт меньше, чем подразумевает иконка. Сопоставляйте возвраты за расходуемое с продажами расходуемого, по продукту, и причина обычно очевидна.
Кратко
Возврат за расходуемую встроенную покупку, это возврат, который стоит вам ещё до того, как вы о нём услышите, потому что монеты потрачены, кредиты сожжены, а вычисления выставлены в счёт в момент покупки клиентом. Apple даёт вам высказаться один раз, на 12 hours, через CONSUMPTION_REQUEST, и по расходуемому этот ответ, это почти единственное существующее доказательство. Google Play позволяет вернуть деньги, но редко спрашивает сначала, а с August 2026 чарджбэк за расходуемое стоит больше, чем стоила продажа. Доставляйте на стороне сервера, записывайте, что доставили, отвечайте на каждый запрос правдиво и держите убыток на полосе возврата, а не на полосе спора.
Частые вопросы
- Могу ли я сам вернуть деньги за расходуемую встроенную покупку?
- В Google Play, да. Вы можете оформить возврат за расходуемое из Play Console или через Order Management API, с необязательным отзывом. В App Store, нет. Apple решает по каждому возврату через reportaproblem.apple.com, и ваше единственное участие, это уведомление CONSUMPTION_REQUEST, на которое у вас есть 12 hours на ответ.
- Что такое CONSUMPTION_REQUEST и сколько у меня времени на ответ?
- CONSUMPTION_REQUEST, это App Store Server Notification, которое Apple отправляет, когда клиент запрашивает возврат за расходуемое, если обмен данными о потреблении включён. У вас есть 12 hours, чтобы ответить через Send Consumption Information, сообщив поля вроде consumptionStatus и consumptionPercentage. Пропустите окно, и Apple решит без вашего участия.
- Почему мой ответ о потреблении значит больше для расходуемого, чем для подписки?
- По подписке Apple вычисляет, какая часть расчётного периода истекла, и опирается на это, так что ваш ответ чаще всего лишь задаёт предпочтение. По расходуемому измерять истёкшее время нечего, поэтому сообщаемый вами consumptionStatus, это почти единственное доказательство потребления, которое есть у Apple. Полностью потреблённое расходуемое, это самый весомый факт, который вы можете отправить.
- Если возврат за расходуемое одобрен, вернут ли мне затраты на вычисления?
- Нет. Возврат отменяет цену покупки и обычно комиссию магазина, но вычисления, вызовы API и хранение, которые вы потратили на доставку расходуемого, уже выставлены в счёт и остаются выставленными. Именно поэтому возврат за расходуемое стоит вам больше, чем одна лишь цена продажи, и именно поэтому доказательство доставки, это единственная настоящая защита.
- Как изменение чарджбэков Google Play от August 2026 влияет на расходуемые?
- С August 3, 2026, чарджбэк в Google Play перекладывает на разработчика цену покупки за вычетом сервисного сбора Play плюс банковский сбор за чарджбэк. На расходуемом, которое вы уже доставили, вы теряете затраты на выполнение, цену продажи и банковский сбор вместе, так что один спорный набор может обойтись дороже, чем принесли несколько проданных. Удерживать клиентов на пути возврата, а не на пути чарджбэка, это более дешёвый исход.
Источники и дополнительное чтение
- Apple Developer: Send Consumption Information (App Store Server API)
- Apple Developer: consumptionStatus values
- Apple Developer: ConsumptionRequest fields
- Apple: Request a refund at reportaproblem.apple.com
- Google Play Console Help: Manage your app's orders and issue refunds
- Google Play Developer API: Method orders.refund
- Google Play Developer: Voided Purchases API
- Google Play Console Help: Updates to refund protection and chargeback cost responsibility (August 3, 2026)
RefundHalt
Автопилот возвратов для App Store и Google Play
Читайте дальше
Несанкционированные встроенные покупки, сделанные детьми, почти всегда возвращаются родителю, а расходы несёте вы
Когда ребёнок покупает набор монет на телефоне родителя, и Apple, и Google возвращают деньги, и никто из них не спрашивает вас заранее. Так это устроили регуляторы. Вот как работают эти возвраты за несанкционированные встроенные покупки в каждом магазине, что за 15-минутное окно, в котором уходят деньги, и во сколько на самом деле обходится одна такая покупка.
Вы никогда не владели app refund tax, поэтому возврат стоит вам вашей доли, а не итога в чеке
Оформите возврат встроенной покупки, и в чеке отобразится возвращаемая цена плюс налог. Этот налог никогда не был вашими деньгами. Apple и Google взимают и перечисляют его как merchant of record, а затем отменяют при возврате, не касаясь вашей доли. Вот что возврат стоит на самом деле и та единственная схема, при которой налог становится вашим.