Если вы делаете игру и планируете зарабатывать — вам нужно принимать платежи. Не через костыли и самописные формы, а через нормальные платёжные SDK, которые уже встроены в магазины или работавшие годами агрегаторы. Разберёмся, какие есть варианты для Unity и Unreal Engine, как их подключить и на что обратить внимание, чтобы не переделывать всё через месяц.
- Какие бывают платёжные сценарии в играх
- Платёжные SDK для Unity
- Unity IAP (In-App Purchases)
- App Store Kit (iOS) и Google Play Billing (Android)
- Агрегаторы для российского рынка
- Платёжные SDK для Unreal Engine
- Online Subsystem и встроенные магазины
- Платёжные плагины для Unreal
- Сравнение подходов
- Что выбрать в зависимости от ситуации
- Частые ошибки при интеграции платежей
- Как лучше сделать: практические рекомендации
- Итог
Какие бывают платёжные сценарии в играх
Прежде чем выбирать SDK, определитесь, как именно вы хотите принимать деньги. От этого зависит выбор инструмента.
- Покупка внутриигровых предметов — кристаллы, скины, бустеры. Это основной сценарий для мобильных и free-to-play игр.
- Продажа самой игры — разовая покупка в Steam, Epic Games Store, App Store, Google Play.
- Подписка — ежемесячный доступ к контенту, как в MMO или сервисах вроде Xbox Game Pass.
- Пожертвования и донат — для инди-проектов и серверов, где игроки платят напрямую разработчику.
Для мобильных игр основной путь — встроенные SDK магазинов (Google Play, App Store) или агрегаторы вроде Qiwi, ЮKassa, Robokassa, если вы работаете на рынке РФ и СНГ. Для десктопных и консольных игр — платформы вроде Steam, Epic, Xbox Live.
Платёжные SDK для Unity
Unity — самый популярный движок для инди и мобильных игр, поэтому вариантов интеграции много. Вот основные из них.
Unity IAP (In-App Purchases)
Это официальное решение от Unity. Покупаете пакет в Package Manager, подключаете — и получаете единый API для App Store, Google Play, Amazon, Samsung Galaxy Store и других магазинов.
Плюсы:
- Один код для нескольких магазинов — не пишете отдельную логику для каждого.
- Бесплатный пакет, хорошо документирован.
- Поддерживает -consumable (расходуемые), non-consumable (одноразовые) и подписки.
Минусы:
- Не работает с российскими агрегаторами — только с магазинами устройств.
- На десктопе через Steam или сайт не заработает — нужны дополнительные решения.
- В бесплатной версии Unity есть ограничения на использование в коммерческих проектах до определённого порога дохода.
Подключение простое: открываете Package Manager, находите Unity IAP, устанавливаете. Затем настраиваете продукты в коде через PurchaseModule.Instance() и обрабатываете результат через IPurchaseHandler. В документации Unity есть рабочие примеры, которые можно скопировать и адаптировать.
App Store Kit (iOS) и Google Play Billing (Android)
Если вам нужен полный контроль или вы работаете с кастомными магазинами, можно подключить нативные SDK напрямую. Для iOS это StoreKit 2, для Android — Google Play Billing Library версии 5+.
Это сложнее: придётся писать обёртки под каждый магазин отдельно, обрабатывать ошибки, восстанавливать покупки. Но зато вы получаете максимальную гибкость и не зависите от промежуточных слоёв.
Агрегаторы для российского рынка
Если ваша аудитория в России и СНГ, вам нужны способы оплаты, которые работают здесь: карты Мир, СБП, электронные кошельки. Вот что можно использовать:
- ЮKassa — есть SDK для Unity, поддерживает карты, электронные кошельки, СБП. Хорошая документация на русском.
- Robokassa — давно на рынке, есть плагин для Unity, но документация иногда устаревает.
- Qiwi — работает, но лучше проверять актуальность плагинов, так как некоторые решения уже не поддерживаются.
- CloudPayments — удобны для разовых платежей и подписок, есть REST API, который можно вызывать через UnityWebRequest.
Важно: при работе с агрегаторами вы сами отвечаете за безопасность. Проверяйте подписи уведомлений (webhook), храните секретные ключи на сервере, не в клиенте. Если кто-то докопается до ключа в билде — будут фейковые покупки.
Платёжные SDK для Unreal Engine
Unreal Engine чаще используют для более крупных проектов, но с платежами ситуация похожая. Основные варианты:
Online Subsystem и встроенные магазины
В Unreal Engine есть модуль Online Subsystem, который даёт абстракцию для разных платформ: Steam, Epic Games, Xbox Live, PlayStation Network. Для покупок внутри игры можно использовать его расширения.
Например, для Steam подключаете модуль OnlineSubsystemSteam и вызываете функции покупки через IOnlinePurchasePtr. Для Epic — OnlineSubsystemEOS с соответствующими методами.
Плюс — всё уже встроено в движок, не нужно тащить сторонние плагины. Минус — если нужны кастомные способы оплаты (карты, СБП), придётся писать самому или искать плагины.
Платёжные плагины для Unreal
На Marketplace можно найти плагины для ЮKassa, Stripe, PayPal и других систем. Перед покупкой проверяйте:
- Когда последний раз обновлялся плагин.
- Поддерживает ли он вашу версию движка.
- Есть ли отзывы и техподдержка от автора.
Некоторые плагины — просто обёртки над REST API, и их можно написать самостоятельно через HTTP-запросы. Это не так сложно, как кажется, и даёт больше контроля.
Сравнение подходов
| Подход | Сложность интеграции | Гибкость | Поддержка магазинов | Подходит для |
|---|---|---|---|---|
| Unity IAP | Низкая | Средняя | App Store, Google Play, Amazon, Samsung | Мобильные игры, кросс-платформенные проекты |
| Нативные SDK магазинов | Высокая | Высокая | Конкретный магазин | Проекты с особыми требованиями к контролю |
| Агрегаторы (ЮKassa, Robokassa) | Средняя | Высокая | Любые способы оплаты | Игры для РФ и СНГ, веб-игры, донат на серверах |
| Online Subsystem (Unreal) | Низкая-средняя | Средняя | Steam, Epic, консоли | Десктопные и консольные игры |
Что выбрать в зависимости от ситуации
Мобильная игра для глобального рынка на Unity: начните с Unity IAP. Он покроет App Store и Google Play из коробки. Если нужны дополнительные способы оплаты — добавьте агрегатор через веб-запросы или нативный плагин.
Игра для российского рынка: подключите ЮKassa или другой агрегатор с поддержкой карт Мир и СБП. Не полагайтесь только на Google Play — у многих пользователей нет привязанной карты.
Десктопная игра в Steam на Unreal Engine: используйте Online Subsystem Steam для покупок через магазин. Для донатов или дополнительных способов оплаты — встроите веб-форму с агрегатором.
Веб-игра или гибридный проект: здесь движок не так важен. Подключайте агрегатор через JavaScript SDK или REST API. Для Unity WebGL можно вызвать JS-функции из C# через Application.ExternalCall.
Частые ошибки при интеграции платежей
Проверка покупок на клиенте. Если вы доверяете клиенту подтверждение покупки — вас взломают в первую же неделю. Всегда проверяйте чеки на сервере. Для Unity IAP используйте
IStoreListener.ProcessPurchaseи отправляйте чек на ваш сервер для валидации. Для нативных SDK — отправляйте receipt на сервер и проверяйте через API магазина.
Хранение секретов в клиенте. Ключи от агрегатора, пароли от магазинов — всё это должно быть на сервере. Клиент должен получать только токены с ограниченным сроком жизни.
Игнорирование восстановления покупок. Если пользователь переустановил игру или сменил устройство, он должен получить свои покупки обратно. Для App Store и Google Play это обязательно, иначе получите жалобы и возвраты.
Нет обработки ошибок. Сеть может пропасть, магазин может ответить ошибкой, пользователь может отменить покупку. Если вы не обработаете все состояния — игрок потеряет деньги и не получит предмет. Это прямой путь к плохим отзывам.
Как лучше сделать: практические рекомендации
- Начните с простого. Не пытайтесь сразу подключить десять способов оплаты. Выберите один-два основных, доведите до рабочего состояния, протестируйте на реальных пользователях.
- Используйте серверную проверку. Даже если у вас маленький проект — заведите простой сервер для проверки чеков. Это сбережёт вас от взломов и потерь.
- Тестируйте в песочнице. Все магазины и агрегаторы предоставляют тестовые среды. App Store — Sandbox, Google Play — лицензированные тестировщики, ЮKassa — тестовый режим. Не тестируйте на реальных деньгах.
- Логируйте всё. Записывайте все этапы покупки: начало, успех, ошибку, отмену. Когда пользователь напишет в поддержку «я заплатил, а предмет не пришёл», вы сможете разобраться за пять минут.
- Учитывайте комиссии. App Store и Google Play берут 30% (15% для малого бизнеса в некоторых программах). Агрегаторы — от 2% до 5% в зависимости от способа оплаты. Закладывайте это в экономику игры.
- Поддерживайте актуальные версии SDK. Магазины регулярно меняют требования. Google Play уже требует Billing Library 5+, Apple переходит на StoreKit 2. Если не обновляться — приложение могут отклонить при публикации.
Итог
Приём платежей в игре — это не просто «подключить SDK и забыть». Это система, которая требует серверной проверки, обработки ошибок, тестирования и регулярного обновления.
Для Unity оптимальный старт — Unity IAP для мобильных магазинов или ЮKassa для российского рынка. Для Unreal Engine — Online Subsystem для десктопных платформ и кастомные решения для дополнительных способов оплаты.
Главное — не хранить секреты в клиенте, всегда проверять покупки на сервере и обрабатывать все возможные ошибки. Если сделаете так — платежи будут работать стабильно, а игроки получат свои предметы без проблем.
Информация в статье носит ознакомительный характер. Условия работы с платёжными системами, комиссии и требования магазинов могут меняться. Перед подключением конкретного решения уточняйте актуальные условия у провайдера или консультируйтесь с профильным специалистом.



