Вы можете сами вернуть деньги за заказ в Google Play, и сделав это до возвратного платежа, вы сэкономите банковскую комиссию
Вы можете вернуть деньги за любой заказ в Google Play моложе three years одним вызовом API, с отзывом доступа или без него. Сделав это самостоятельно, прежде чем спор превратится в возвратный платеж, вы экономите банковскую комиссию, которая с August 3, 2026 ложится на разработчиков. Вот как работает orders.refund.

Главное
- Конечная точка `orders.refund` в Google Play Developer API позволяет разработчику напрямую вернуть деньги за любой разовый заказ или заказ подписки, без проверки, без указания причины и без запроса клиента.
- Возврат денег и отзыв это отдельные действия. `orders.refund` принимает необязательный флаг `revoke`. Оставьте его выключенным, и покупатель сохранит доступ, установите его в true, и Google немедленно прекратит доступ к товару.
- Заказы старше three years нельзя вернуть через Google Play Developer API. Как только это окно закрывается, заказ становится навсегда недосягаемым.
- `orders.refund` оформляет только полный возврат. Частичный, пропорциональный возврат за подписку требует более новой конечной точки `purchases.subscriptionsv2.revoke` с контекстом `proratedRefund`.
- Возврат денег за заказ подписки с `revoke`, установленным в true, запускает уведомление `SUBSCRIPTION_REVOKED` Real-time Developer Notification, так что ваш бэкенд узнаёт об отзыве так же, как о любом другом событии подписки.
- С August 3, 2026 Google взимает с разработчика цену покупки плюс банковские комиссии возвратного платежа. Возврат, который вы оформляете сами, возвращает только цену покупки, поэтому ранний возврат за шаткий заказ может быть дешевле, чем позволить ему стать возвратным платежом.
- Возврат по инициативе разработчика это единственный поток возвратов Google Play, который вы полностью контролируете. 48-hour самообслуживаемый возврат, возвраты через поддержку и аннулированные покупки решаются без вас.
Вам не нужно ждать, пока клиент откроет спор. Если вы хотите вернуть деньги, вы можете сами вернуть деньги за заказ в Google Play, напрямую, одним вызовом API или двумя кликами в Play Console. Google не спросит вас почему и не станет ставить под сомнение ваше решение. Это единственный поток возвратов, где кнопка в ваших руках, и воспользоваться ею рано, прежде чем спор затвердеет в банковский возвратный платеж, зачастую самый дешевый выход.
Единственный поток возвратов, который вы действительно контролируете
Большинство возвратов в Google Play случаются с вами, а не через вас. Покупатель, который обращается к Google в течение 48 hours, получает автоматический самообслуживаемый возврат без участия разработчика. Агент поддержки может предоставить такой, который является окончательным в момент оформления. Банковский возвратный платеж решается между держателем карты и его банком. Во всех этих случаях вы зритель, который узнаёт постфактум.
Возврат разработчика это исключение. Здесь именно вы решаете вернуть деньги, по своему графику, по своим причинам. Это инструмент доброй воли, инструмент обслуживания клиентов и, негласно, инструмент контроля затрат. Точное знание того, как он ведёт себя, превращает его из кнопки паники в осознанный выбор.
Что делает orders.refund, за один вызов
Метод orders.refund в Google Play Developer API возвращает деньги за один заказ, будь то разовая покупка внутри приложения или платёж за подписку. Вы отправляете пустой POST на путь возврата заказа, аутентифицированный вашей служебной учётной записью, и успешный вызов возвращает пустое тело. Это весь механизм.
Флаг revoke решает, сохранят ли они доступ
Единственный выбор, который даёт вам вызов, это флаг запроса revoke. Справочник Google прямо говорит о том, что он делает: если установлен в true, доступ к подписке или товару внутри приложения будет немедленно прекращён. Опустите его, и деньги возвращаются, пока клиент сохраняет то, что купил. Это одно логическое значение и есть разница между дружелюбным возвратом и чистой отменой.
| Часть вызова | Значение |
|---|---|
| Метод и путь | POST /androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund |
packageName | Идентификатор вашего приложения, например com.acme.app |
orderId | Идентификатор заказа, показанный покупателю при покупке |
revoke | Необязательный флаг запроса. true немедленно прекращает доступ, опустите его, чтобы вернуть деньги и оставить доступ нетронутым |
| Тело запроса | Пустое |
| Область OAuth | https://www.googleapis.com/auth/androidpublisher |
По умолчанию полный возврат, пропорциональный только для подписок
orders.refund возвращает всю стоимость заказа. У него нет поля для частичной суммы. Если вам нужно вернуть часть подписки, обратитесь к более новой конечной точке purchases.subscriptionsv2.revoke, которая принимает контекст отзыва и может оформить либо полный, либо пропорциональный возврат на основе оставшегося в периоде времени. Более старый purchases.subscriptions.revoke делал только полные возвраты, что и является главной причиной существования метода v2. Для разовых заказов частичные возвраты доступны через сайт Play Console для покупок, совершённых после March 2018, и никогда для платных приложений.

Трёхлетняя стена и другие ограничения
Жёсткая граница это возраст. Google прямо заявляет, что заказы старше three years нельзя вернуть. Нет ни обжалования, ни исключения, как только заказ пересекает эту черту, поэтому возврат это решение со сроком годности. Ещё несколько ограничений определяют, что вызов может и чего не может.
| Ограничение | Что оно означает |
|---|---|
| Ограничение по возрасту в три года | Заказы старше three years нельзя вернуть через API |
| Только полная сумма | orders.refund возвращает всю стоимость заказа, никогда частичную сумму |
| Частичные возвраты | Доступны для подписок через purchases.subscriptionsv2.revoke или через Play Console для разовых заказов после March 2018, никогда для платных приложений |
| Необратимо | Как только вы оформили возврат, его нельзя отменить |
Что это экономит вам в деньгах
Каждый возврат уже является убытком ещё до того, как вы коснётесь кнопки, потому что деньги, потраченные на обслуживание этой покупки, не возвращаются вместе с ней. Если покупатель генерировал изображения, делал вызовы API к вашим моделям, потреблял хранилище или запустил выплату третьей стороне, эти затраты уже понесены и остаются понесёнными. Возврат лишь решает, кто понесёт цену продажи сверх этого.
Причина самому прибегнуть к возврату это то, что произойдёт, если вы этого не сделаете. Документация Google однозначна: с August 3, 2026, когда клиент оспаривает списание в своём банке, Google передаёт разработчику цену покупки и комиссию банка за возвратный платеж. Возврат, который вы оформляете через orders.refund, возвращает только цену покупки. Так что для заказа, который вы и так рассчитываете потерять, самостоятельно оформленный возврат дешевле возвратного платежа ровно на банковскую комиссию, и он закрывает дело, прежде чем оно сможет обостриться.
Где самостоятельный возврат стоит среди других потоков возвратов
Полезно увидеть возврат разработчика рядом со всем остальным, что может вытянуть деньги с вашего счёта. Только два из этих потоков вообще запрашивают ваш вклад, и только один из них позволяет вам самому начать возврат.
| Поток возврата | Кто решает | Ваш контроль |
|---|---|---|
Возврат разработчика (orders.refund) | Вы | Полный. Вы выбираете, стоит ли и когда |
| 48-hour самообслуживаемый возврат | Нет. Google возвращает автоматически | |
| Возврат агентом поддержки | Google или Apple support | Нет. Окончательный после предоставления |
Проверка возвратного платежа (orders.reviewrefund) | Google, на основе ваших доказательств | Только 24-hour окно для вклада |
| Voided Purchases API | Никто, это только для чтения | Нет. Вы только читаете то, что уже произошло |
Как вернуть деньги за заказ в Google Play, от начала до конца
Из Play Console
- Откройте Play Console и выберите Управление заказами в левом меню.
- Найдите заказ по его идентификатору заказа или полному адресу электронной почты покупателя.
- Под ценой выберите Вернуть деньги и выберите причину возврата. Используйте сайт, а не мобильное приложение, если вам нужен частичный возврат.
Из API
- Аутентифицируйте служебную учётную запись, у которой есть область
androidpublisherи финансовые разрешения в Play Console. - Отправьте пустой POST на путь возврата заказа, добавляя
revoke=trueтолько если вы также хотите отрезать доступ. - Обработайте пустой ответ об успехе, и если вы отозвали подписку, ожидайте уведомления
SUBSCRIPTION_REVOKED, которое дойдёт до вашего бэкенда.
Возврат разработчика это маленький, острый инструмент. Он даёт вам чистый способ возместить ущерб клиенту и более дешёвый выход, чем возвратный платеж по заказу, который вы всё равно потеряли бы. Единственное правило использовать его осознанно, с флагом revoke, установленным так, как вы действительно имеете в виду.
Частые вопросы
- Могу ли я вернуть деньги за заказ в Google Play, не отменяя доступ клиента?
- Да. Вызовите `orders.refund` и оставьте флаг `revoke` выключенным. Покупатель получает свои деньги обратно и сохраняет доступ к товару. Устанавливайте `revoke` в true только тогда, когда вы также хотите немедленно прекратить доступ к покупке.
- Как далеко назад я могу вернуть деньги за заказ в Google Play?
- До three years с даты покупки. Google Play Developer API указывает, что заказы старше three years нельзя вернуть, и нет исключения, как только это окно закрывается.
- Поддерживает ли orders.refund частичные возвраты?
- Нет. `orders.refund` оформляет только полную сумму заказа. Для частичного или пропорционального возврата за подписку используйте `purchases.subscriptionsv2.revoke` с контекстом `proratedRefund` или оформите частичный возврат через Play Console для подходящих разовых заказов.
- Узнает ли мой бэкенд, когда я отзываю подписку с возвратом?
- Да. Возврат денег за заказ подписки с `revoke`, установленным в true, запускает уведомление `SUBSCRIPTION_REVOKED` Real-time Developer Notification, так что ваш сервер может обновить право доступа так же, как он обрабатывает любое другое событие подписки.
- Лучше ли вернуть деньги за заказ самому, чем позволить ему стать возвратным платежом?
- Часто, в чисто денежном выражении. С August 3, 2026 возвратный платеж обходится разработчику в цену покупки плюс банковскую комиссию, тогда как возврат, который вы оформляете, возвращает только цену покупки. Если заказ явно движется к спору, ранний возврат позволяет избежать дополнительной банковской комиссии.
Источники и дополнительное чтение
- Google Play Developer API: Method orders.refund
- Android Developers: Manage subscriptions and one-time purchases
- Play Console Help: Manage your app's orders and issue refunds
- Google Play Developer API: Method purchases.subscriptionsv2.revoke
- Google Play Console Help: refund protection and chargeback cost responsibility
- Google Play Help: Learn about Google Play refund policies
RefundHalt
Автопилот возвратов для App Store и Google Play
Читайте дальше
Функция Apple Send Consumption Information теперь запрашивает пять полей, а не двенадцать, и вот каждое из них
Когда клиент запрашивает у Apple возврат средств, полезная нагрузка Send Consumption Information это ваш ответ. Apple сократила её с двенадцати полей до пяти: три обязательных и два необязательных. Здесь каждое поле, значения, которые оно принимает, и 12-часовое окно, в течение которого его нужно отправить.
Есть один эндпоинт, который возвращает всю историю возвратов клиента в App Store, и вот что он выдаёт
Эндпоинт Apple Get Refund History возвращает полную историю возвратов клиента в App Store в виде подписанных транзакций. Вот каждое поле, как токен revision разбивает выдачу на страницы, почему она привязана к клиенту, а не к приложению, и во что вам обходится пропущенный возврат.