Баланс магазина
Баланс магазина — внутренний кошелёк игрока на вашем магазине. Игрок пополняет его реальными деньгами и тратит на товары.
Как работает баланс
- Игрок пополняет баланс через любой подключённый платёжный метод
- Средства зачисляются на
PlayerWallet - Игрок покупает товары → сумма списывается с баланса
- История всех операций хранится в
WalletLedger(неизменяемый лог)
Кошелёк игрока (PlayerWallet)
| Поле | Описание |
|---|---|
balanceMinor | Основной баланс (в копейках) |
bonusMinor | Бонусный баланс (промокоды, бонусы) |
currency | Валюта (всегда RUB) |
Приоритет списания: сначала бонусный баланс, потом основной.
WalletLedger
Каждая операция с балансом оставляет запись в логе:
| Операция | Описание |
|---|---|
TOPUP | Пополнение баланса |
PURCHASE | Покупка товара |
REFUND | Возврат средств |
BONUS | Начисление бонуса |
PROMO | Промокод |
ADJUST | Ручная корректировка администратором |
Комиссии
- Пополнение: комиссию берёт платёжный провайдер (зависит от метода)
- Покупка: без комиссии — игрок платит ровно цену товара
- Tirify: не участвует в движении средств. Деньги идут напрямую от игрока владельцу
Пополнение (Top-Up)
Игрок пополняет баланс в модальном окне:
- Нажимает «Пополнить» (в хедере или кабинете)
- Выбирает сумму или вводит свою
- Выбирает платёжный метод
- Перенаправляется на страницу оплаты
- После оплаты баланс обновляется автоматически
Бонусы при пополнении: владелец может настроить шкалу бонусов (например, +10% при пополнении от 1000 ₽).
Ручная корректировка
Администратор может изменить баланс игрока вручную:
- Админка → Игроки → выбрать игрока → «Кошелёк»
- Указать сумму (положительную или отрицательную)
- Указать причину
- Запись попадает в WalletLedger с типом
ADJUST
Следующие шаги
- Платёжные методы — как подключить
- Транзакции — история операций