Продавать пополнения игр — не то же самое, что продавать коды подарочных карт. Код может неделями лежать на складе и выдаваться за секунду. Пополнение покупается в момент заказа, для конкретного игрового аккаунта, через API поставщика. От этого зависит всё, что должен уметь сайт.
Разберём части сайта пополнений в том порядке, в котором через них проходит заказ, и покажем, как каждая работает в Kavia Commerce — нашем скрипте магазина цифровых товаров.
Три вида товаров
Почти любой магазин пополнений продаёт три вида товаров одновременно:
- Коды со склада: подарочные карты и игровые коды, купленные оптом. Выдача мгновенная, потому что код уже есть.
- Пополнения через API: алмазы, UC, монеты и другая игровая валюта зачисляются прямо на аккаунт игрока через поставщика. Ничего не хранится, покупка происходит в момент заказа.
- Ручные заказы: всё, что поставщик пока не автоматизировал. Заказ уходит сотруднику, который выполняет его вручную.
Скрипт должен обрабатывать эти три вида по-разному, но показывать в одном каталоге. В Kavia Commerce у каждого товара есть тип выдачи, и заказ сам идёт по нужному пути.
Шаг 1: спросить правильные данные
Для пополнения нужны данные покупателя до оплаты: ID игрока, иногда сервер или зона. Ошибка в поле — и пополнение уйдёт на чужой аккаунт без возможности вернуть.
Поэтому у каждого товара-пополнения должны быть свои поля ввода с проверкой, до оформления заказа. В Kavia Commerce поля задаются для каждого товара: мобильная игра спросит ID и зону, а подарочная карта — ничего.
Шаг 2: зарезервировать деньги, но не списывать
После подтверждения сумма заказа должна быть зарезервирована на балансе, а не списана: поставщик ещё ничего не выдал, и заказ может не пройти.
В Kavia Commerce сумма резервируется на кошельке покупателя и записывается в неизменяемый журнал (ledger). Баланс меняется только новыми записями, поэтому всегда видно, откуда взялась сумма. Если поставщик отклонил пополнение, резерв снимается, деньги возвращаются на баланс, а причина сохраняется.
Шаг 3: проверить заказ до того, как уйдут деньги
Магазины пополнений привлекают мошенников: украденную карту, превращённую в игровую валюту, почти невозможно вернуть. Проверку риска лучше иметь с первого дня.
На тарифе Pro подозрительные заказы попадают в очередь проверки, и сотрудник одобряет или отклоняет их до покупки у поставщика.
Шаг 4: купить у поставщика и выдать
Теперь платформа вызывает API поставщика с ID игрока, ждёт ответа и завершает заказ. Для кодов со склада она берёт код из зашифрованного хранилища. Коды хранятся в зашифрованном виде (AES-256-GCM) и расшифровываются только при выдаче.
Покупатель видит результат в личном кабинете, а заказ с полной историей — в админ-панели. В Kavia Commerce есть готовые интеграции с поставщиками: одна на тарифе Start, три на Pro, на Pro — с автопополнениями игр. Новых поставщиков подключаем по запросу.
Шаг 5: то, чего не видит покупатель
Витрина — самое простое. Каждый день магазину пополнений нужно:
- видеть каждый заказ со статусом, ответом поставщика и возвратами на баланс;
- управлять складом и товарами поставщиков из одной панели;
- давать сотрудникам только нужные права, со входом по второму фактору;
- вести журнал аудита критичных действий.
Всё это есть в админ-панели Kavia Commerce. Демо-доступ к админ-панели — по запросу: напишите @kaviasoftbot в Telegram.
Писать с нуля или взять готовую платформу
Всё это можно написать самому. В статье готовый скрипт или разработка с нуля мы честно сравниваем оба пути, а в статье сколько стоит магазин ключей разбираем бюджет. Чтобы сначала посмотреть на рабочий процесс, откройте демо-магазин, выберите товар с полем ID игрока и пройдите оформление. Настоящие деньги там не списываются.
Когда будете готовы, расскажите о магазине и о поставщиках, с которыми работаете.
Вопросы
Чем код отличается от пополнения игры?
Код хранится на складе и выдаётся покупателю. Пополнение зачисляется прямо на аккаунт игрока через API поставщика в момент заказа, поэтому ID игрока нужен до оплаты.
Что будет, если поставщик не выполнил пополнение?
В Kavia Commerce сумма заказа только резервируется, пока работает поставщик. Если пополнение не прошло, резерв снимается, деньги возвращаются на баланс, а событие записывается в журнал.
Можно продавать пополнения и коды в одном магазине?
Да. У каждого товара свой тип выдачи: код со склада, пополнение через API или ручной заказ. Каталог, корзина и баланс общие.
Каких поставщиков можно подключить?
В Kavia Commerce есть готовые интеграции с поставщиками, новых подключаем по запросу. Назовите своих оптовиков, и мы проверим их до подписания договора.