Статьи
Запуск

Как сделать сайт пополнения игр

Сайт пополнений выглядит как магазин, а работает как платёжная система: принимает ID игрока, покупает пополнение у поставщика в момент заказа и должен чисто откатить всё, если что-то пошло не так.

Продавать пополнения игр — не то же самое, что продавать коды подарочных карт. Код может неделями лежать на складе и выдаваться за секунду. Пополнение покупается в момент заказа, для конкретного игрового аккаунта, через 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 есть готовые интеграции с поставщиками, новых подключаем по запросу. Назовите своих оптовиков, и мы проверим их до подписания договора.

Похожие статьи

Темы магазина3 мин чтения

Как выбрать тему для магазина ключей

Тема решает, что покупатель видит первым: баннер, поиск, прайс или полку хитов. Выбирайте её по каталогу и трафику, а не по самому красивому скриншоту.

Бот и API3 мин чтения

Telegram-бот для продажи цифровых товаров: как он устроен

Многие покупатели игровых кодов не хотят уходить из Telegram. Бот продаж позволяет выбрать товар, оплатить и получить код прямо в чате. Разберём, что он должен уметь, чтобы это было безопасно.

Бот и API3 мин чтения

Что должно уметь API для реселлеров цифровых товаров

Когда у вас покупают другие продавцы, они не будут кликать по сайту — им нужно API. Вот что это API должно гарантировать, чтобы сбой сети никому не стоил двойного заказа.

Обсудим ваш проект

Коротко опишите задачу. Обычно мы отвечаем в течение одного рабочего дня.

Расскажите о проекте

Заполните форму — обычно мы отвечаем в течение одного рабочего дня.

Добавить компанию и сроки (необязательно)

Удобнее в Telegram? Напишите нашему боту