донат шоп, управление магазином, яндекс метрика
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Интеграция Слёз Элуны
|
||||
|
||||
Слёзы Элуны хранятся в `acore_auth.account_balances`, поэтому сайт и игровой сервер используют один источник истины. Все движения валюты записываются в `acore_auth.balance_transactions`.
|
||||
|
||||
Курс пополнения задаётся через `MOONWELL_TEARS_PER_RUBLE` и по умолчанию равен `10`: **1 рубль = 10 Слёз Элуны**. Суммы API игрового сервера и ручные операции администратора всегда указываются в Слёзах Элуны, а не в рублях.
|
||||
|
||||
## Robokassa
|
||||
|
||||
В технических настройках магазина укажите:
|
||||
|
||||
- ResultURL: `https://ВАШ-ДОМЕН/api/payments/robokassa/result`, метод POST;
|
||||
- SuccessURL: `https://ВАШ-ДОМЕН/payments/robokassa/success`;
|
||||
- FailURL: `https://ВАШ-ДОМЕН/payments/robokassa/fail`;
|
||||
- алгоритм подписи, совпадающий с `ROBOKASSA_HASH_ALGORITHM`.
|
||||
|
||||
Доступны два независимых режима:
|
||||
|
||||
- `ROBOKASSA_MODE=test` использует `ROBOKASSA_TEST_LOGIN`, `ROBOKASSA_TEST_PASSWORD1`, `ROBOKASSA_TEST_PASSWORD2` и передаёт `IsTest=1`;
|
||||
- `ROBOKASSA_MODE=production` использует отдельные `ROBOKASSA_PRODUCTION_*` значения и передаёт `IsTest=0`.
|
||||
|
||||
Текущие старые переменные `ROBOKASSA_LOGIN`, `ROBOKASSA_PASSWORD1`, `ROBOKASSA_PASSWORD2` поддерживаются как тестовые для обратной совместимости. Перед боевым запуском заполните production-переменные, переключите `ROBOKASSA_MODE=production` и выполните `php artisan config:clear`.
|
||||
|
||||
Режим сохраняется в каждом выставленном счёте. Поэтому отложенный тестовый callback продолжит проверяться тестовым Паролем №2 даже после переключения приложения в production.
|
||||
|
||||
## API игрового сервера
|
||||
|
||||
Задайте длинный случайный `GAME_SERVER_BALANCE_API_TOKEN` и передавайте его как `Authorization: Bearer TOKEN`.
|
||||
|
||||
Получение количества Слёз Элуны:
|
||||
|
||||
```http
|
||||
GET /api/game/balance/7
|
||||
Authorization: Bearer TOKEN
|
||||
```
|
||||
|
||||
Списание:
|
||||
|
||||
```http
|
||||
POST /api/game/balance/7/spend
|
||||
Authorization: Bearer TOKEN
|
||||
Content-Type: application/json
|
||||
|
||||
{"amount":"25.50","idempotency_key":"shop-purchase-42","description":"Название предмета"}
|
||||
```
|
||||
|
||||
`idempotency_key` должен быть уникальным для каждой игровой покупки. `amount` — количество списываемых Слёз Элуны. Повтор запроса с тем же ключом возвращает ту же операцию и не списывает валюту второй раз. Ответ `422` означает недостаточное количество или конфликт ключа; `401` — неверный серверный токен.
|
||||
|
||||
После развёртывания выполните `php artisan migrate --force`. Миграция создаёт таблицы непосредственно в подключении `azerothcore_auth`.
|
||||
Reference in New Issue
Block a user