Документация API

Partner API

REST API для пополнения Steam. Расчёты — в USDT. Сумма на кошелёк: RUB / USD / KZT / UAH.

Быстрый старт

Base URL: https://partner.gghub.io
Один запрос = один Steam login. Для нескольких аккаунтов — отдельные запросы.
  1. Получите access_token через /api/auth/login
  2. Передавайте заголовок Authorization: Bearer <token>
  3. Опционально: POST /api/topup/check — проверка логина и quote
  4. POST /api/topup — списание USDT и пополнение
  5. Статус и чек — в /api/topups/{id}

Тариф (rate)

charge_usdt = convert_to_usd(amount × rate, currency)

  • rate = 1 — оплата 1:1 к номиналу Steam (в USDT)
  • rate = 0.9 — оплата 90% от номинала

Авторизация

POST /api/auth/login

curl -X POST https://partner.gghub.io/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"login":"partner1","password":"secret123"}'

В ответе — access_token (срок ~24ч). Дальше во всех запросах:

Authorization: Bearer <access_token>

Пополнение

POST /api/topup/check

Проверка Steam login и расчёт списания.

curl -X POST https://partner.gghub.io/api/topup/check \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"steam_login":"my_steam_login","amount":100,"currency_code":"RUB"}'

POST /api/topup

Создаёт заказ. Рекомендуется заголовок Idempotency-Key.

curl -X POST https://partner.gghub.io/api/topup \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-2026-07-26-001" \
  -d '{"steam_login":"my_steam_login","amount":100,"currency_code":"RUB"}'

История

GET /api/me — профиль и баланс

GET /api/topups — список заказов

GET /api/topups/{id} — детали, статус, receipt_url

GET /api/ledger — движение USDT

Статусы

statusЗначение
pendingСоздан, ожидает обработки
runningВ процессе
doneУспешно зачислено
failedОшибка; USDT возвращается на баланс

После успеха в деталях заказа будет receipt_url — ссылка на чек (есть и PDF: …/pdf).

Ошибки

HTTPcodeКогда
401Нет или просрочен токен
402insufficient_balanceНедостаточно USDT
400check_failed и др.Логин не прошёл проверку / невалидные данные
429Слишком много запросов

Безопасность

  • Токен передавайте только в заголовке Authorization
  • Для повторов topup используйте уникальный Idempotency-Key
  • Пароль — только в /api/auth/login