Документация Gamering API V1.0.6

Данный API позволяет партнёрам получать игровые ваучеры, обрабатывать их выдачу, активировать ваучеры, пополнять балансы сервисов, игр и управлять статусами заказов. Ниже представлены основные методы API с примерами, описанием параметров и возможными ошибками.

changelog

V1.0.6 (29.05.2026)

V1.0.5 (25.05.2026)

V1.0.4 (09.04.2025)

V1.0.3 (08.04.2025)

V1.0.2 (07.04.2025)

V1.0.1 (03.04.2025)

V1.0

Доступные endpoint API

  1. /api/auth/login - Авторизация партнёров
  2. /api/balance - Получение актуального баланса
  3. /api/gameslist - Получение списка игр/сервисов доступных для пополнения через ваучеры или прямым пополнением баланса
  4. /api/voucher_available - Получение списка доступных ваучеров по id игры/сервиса
  5. /api/pay - универсальный запрос на пополнение баланса или получение ваучера
  6. /api/order_update - Обновление статуса заказа
  7. /api/get_order_info - Получение статуса и информации о заказе
  8. /api/revise - Отправка реестра транзакций для сверки
  9. /api/account_check - Проверка информации по учётной записи указанного сервиса.
Скачать postman collection

Авторизация и получение токена

Метод: POST

/api/auth/login

Метод используется для авторизации партнёра. После успешного запроса возвращается JWT-токен, используемый для авторизации в других методах.

Время жизни токена - 1 час

Параметры запроса:
Пример запроса:
{
  "login": "login",
  "api_key": "password"
 }
Поля ответа:
Пример ответа:
{
  "token": "eyJhbGciOi...",
  "expires_in": 3600,
  "expires_at": "2026-04-15 15:30:14"
 }
Ошибки:

Получение баланса аккаунта

Метод: GET

/api/balance

Метод используется для получения баланса аккаунта.

Заголовки:
Параметры запроса:
Поля ответа:
Пример ответа:
{
     "partner_id": 1,
     "partner_name": "dev",
     "user_name": "dev",
     "user_id": 1,
     "balance": 100000,
     "currency": "USD"
}
Ошибки:

Получение списка игр

Метод: GET

/api/gameslist

Возвращает список доступных партнёру игр и сервисов.

Заголовки:
Поля ответа:
Пример ответа:
{
    "available_games": [
        {
            "id": 1,
            "game_name": "steam",
            "description": "Пополнение акаунта Steam",
            "type": "balance",
            "activation": "auto",
            "currency": "USD",
            "avalible": true,
            "request": false,
            "account_check": true,
            "discount_percent": 3,
            "has_voucher_discounts": false,
            "max_voucher_discount_percent": null,
            "min_voucher_discount_percent": null
        },
        {
            "id": 2,
            "game_name": "pubg mobile",
            "description": "Ваучеры на пополнение акаунта, код ваучера",
            "type": "voucher",
            "activation": "manual",
            "currency": "USD",
            "avalible": true,
            "request": true,
            "account_check": false,
            "discount_percent": null,
            "has_voucher_discounts": true,
            "max_voucher_discount_percent": 4,
            "min_voucher_discount_percent": 4
        }
    ]
}
Ошибки:

Получение доступных номиналов ваучеров:

Метод: GET

/api/voucher_available

Возвращает список номиналов ваучеров по ID игры.

Заголовки:
Параметры:
Поля ответа:

Если account_need=true, значение account в /api/pay должно соответствовать account_format. Например, для формата userid|zoneid нужно передать account=gamering|1234. Если аккаунт состоит из одного значения, account_fields и account_separator не передаются, а account_format содержит требуемый один идентификатор.

Пример ответа:
{
    "game_id": 426,
    "available": [
        {
            "avalible": true,
            "voucher_id": 4013,
            "voucher_name": "Monthly Elite Pack",
            "amount": 4.58,
            "currency": "USD",
            "game_coins": 22.88,
            "origin_price": 4.77,
            "origin_currency": "USD",
            "discount_rate": 4,
            "account_need": true,
            "account_check": false,
            "account_format": "userid|zoneid",
            "account_separator": "|",
            "account_fields": [
                {
                    "name": "userid",
                    "type": "input",
                    "label": "User ID",
                    "prefix": "",
                    "label_zh": "User ID",
                    "position": 1,
                    "multiline": false,
                    "placeholder": "Please enter User ID"
                },
                {
                    "name": "zoneid",
                    "type": "input",
                    "label": "Zone ID",
                    "prefix": "",
                    "label_zh": "Zone ID",
                    "position": 2,
                    "multiline": false,
                    "placeholder": "Please enter Zone ID"
                }
            ]
        }
    ]
}
Пример ответа для ваучера без передачи аккаунта:
{
    "game_id": 2,
    "available": [
        {
            "avalible": true,
            "voucher_id": 1,
            "voucher_name": "60 UC",
            "amount": 0.95,
            "currency": "USD",
            "game_coins": 60,
            "origin_price": 0.99,
            "origin_currency": "USD",
            "discount_rate": 4,
            "account_need": false,
            "account_check": false
        }
    ]
}
Ошибки:

Покупка ваучера/Пополнение баланса:

Метод: POST

/api/pay

Запрос на создание заказа и получение ваучера или пополнения баланса.

В production-среде запрос проходит проверки авторизации, доступа к сервису, доступности номинала, скидки и баланса партнёра. Если заказ завершился успешно, сумма списывается с баланса партнёра. Если заказ завершился ошибкой, списание по заказу не остаётся на балансе.

Параметр test=1 можно передать в production-среде для тестовой транзакции. В этом режиме заказ создаётся и проходит сценарий API, но без обращения к поставщикам и без списания баланса партнёра.

Если у партнёра включены уведомления о статусах заказа, первичный ответ по /api/pay возвращается со статусом pending, а финальный результат отправляется на webhook партнёра. Если уведомления не включены, API ожидает финальный ответ до 60 секунд. Если за 60 секунд финальный ответ не получен, API возвращает pending, а актуальный статус можно получить через /api/get_order_info.

Заголовки:
Параметры:

Общий необязательный параметр:

Для пополнения баланса (Категории сервисов с "type": "balance"):

Поля финального успешного ответа при пополнении баланса:
Пример финального ответа при пополнении баланса:
{
    "success": true,
    "order_id": "7080",
    "game_name": "steam",
    "game_id": 1,
    "account": "gamering",
    "amount": 10.5,
    "amount_currency": "USD",
    "amount_charged": 9.45,
    "amount_charged_currency": "USD",
    "message": "The balance has been successfully replenished",
    "order_status": 2,
    "order_status_text": "success"
}
Пример pending-ответа при пополнении баланса:
{
    "success": true,
    "order_id": "7081",
    "game_name": "steam",
    "game_id": 1,
    "account": "gamering",
    "amount": 10.5,
    "amount_currency": "USD",
    "amount_charged": 9.45,
    "amount_charged_currency": "USD",
    "message": "Order accepted and pending processing",
    "order_status": 1,
    "order_status_text": "pending"
}
Пример неуспешного ответа при пополнении баланса:
{
    "success": false,
    "order_id": "7082",
    "game_name": "steam",
    "game_id": 1,
    "account": "gamering123",
    "amount": 10.5,
    "amount_currency": "USD",
    "amount_charged": 9.45,
    "amount_charged_currency": "USD",
    "message": "cannot be paid",
    "order_status": 3,
    "order_status_text": "error",
    "error_text": "technical problem"
}

Для получения ваучера (Категории сервисов с "type": "voucher"):

Поля ответа при покупке или резервировании ваучера:

Для ваучеров, которые являются прямым пополнением аккаунта, коды voucher_code, voucher_code_2 и срок действия ваучера не передаются. В таких заказах need_activation=0, а промежуточный статус пополнения передаётся как order_status=5. Финальный результат будет доступен через /api/get_order_info или webhook-уведомление, если оно включено.

Пример ответа при покупке ваучера:
{
    "success": true,
    "order_status": 6,
    "order_status_text": "Waiting for payment confirmation",
    "order_id": "7086",
    "game_name": "pubg",
    "game_id": 2,
    "voucher_id": 20,
    "voucher_name": "300 + 25 UC",
    "game_coins": 325,
    "game_currency": "UC",
    "account": "gamering",
    "amount": 4.99,
    "amount_currency": "USD",
    "amount_charged": 4.49,
    "amount_charged_currency": "USD",
    "need_activation": 1,
    "expiration_date_voucher": "2026-12-31T23:59:59Z",
    "activation_voucher": "wait",
    "message": "Waiting for payment confirmation",
    "discount_rate": 10
}
{
    "success": true,
    "order_status": 2,
    "order_status_text": "success",
    "order_id": "7087",
    "game_name": "pubg",
    "game_id": 2,
    "voucher_id": 20,
    "voucher_name": "300 + 25 UC",
    "game_coins": 325,
    "game_currency": "UC",
    "amount": 4.99,
    "amount_currency": "USD",
    "amount_charged": 4.49,
    "amount_charged_currency": "USD",
    "need_activation": 0,
    "voucher_code": "ABCD-EFGH-IJKL",
    "expiration_date_voucher": "2026-12-31T23:59:59Z",
    "message": "Voucher successfully send",
    "discount_rate": 10
}
{
    "success": false,
    "order_status": 3,
    "order_status_text": "error",
    "order_id": "7088",
    "game_name": "Mobile Legends Diamonds",
    "game_id": 426,
    "voucher_id": 4022,
    "voucher_name": "50 Diamonds + 5 Bonus",
    "game_coins": 4.63,
    "account": "2007843311|6512",
    "amount": 0.93,
    "amount_currency": "USD",
    "amount_charged": 0.89,
    "amount_charged_currency": "USD",
    "need_activation": 0,
    "message": "cannot be paid",
    "discount_rate": 4,
    "error_text": "Refunded"
}
Пример ответа для прямого пополнения аккаунта, которое ещё выполняется:
{
    "success": true,
    "order_status": 5,
    "order_status_text": "Balance replenishment is in progress",
    "order_id": "7089",
    "game_name": "Mobile Legends Diamonds",
    "game_id": 426,
    "voucher_id": 4022,
    "voucher_name": "50 Diamonds + 5 Bonus",
    "game_coins": 4.63,
    "account": "2007843311|6512",
    "amount": 0.93,
    "amount_currency": "USD",
    "amount_charged": 0.89,
    "amount_charged_currency": "USD",
    "need_activation": 0,
    "message": "Balance replenishment is in progress",
    "discount_rate": 4
}
Пример первичного ответа при работе через уведомления о статусах заказа или при таймауте синхронного ожидания:
{
    "success": true,
    "order_status": 1,
    "order_status_text": "pending",
    "order_id": "7086",
    "game_name": "pubg",
    "game_id": 2,
    "voucher_id": 20,
    "voucher_name": "300 + 25 UC",
    "game_coins": 325,
    "game_currency": "UC",
    "account": "gamering",
    "amount": 4.99,
    "amount_currency": "USD",
    "amount_charged": 4.49,
    "amount_charged_currency": "USD",
    "need_activation": 1,
    "expiration_date_voucher": "2026-12-31T23:59:59Z",
    "message": "Order accepted and pending processing",
    "discount_rate": 10
}
Ошибки:

Обновление статуса заказа

Метод: POST

/api/order_update

Используется партнёром для уведомления о результате оплаты по заказам, которые были созданы через /api/pay с параметром request=1 и ожидают подтверждения оплаты.

При передаче status=2 заказ подтверждается. Для ваучера код выдаётся партнёру; если при создании заказа была запрошена активация и сервис её поддерживает, выполняется попытка активации. Если активация не поддерживается или не была запрошена, ваучер просто выдаётся без активации.

При передаче status=3 заказ переводится в ошибку, резерв ваучера снимается, а баланс партнёра не списывается.

Если заказ уже был финально изменён, повторное изменение статуса не выполняется. Повторный вызов status=2 допускается только для повторной попытки активации, если заказ уже успешный, активация была запрошена, сервис её поддерживает и предыдущая попытка завершилась неуспешно.

Заголовки:
Параметры запроса:
Пример запроса:
{
  "order_id": "32",
  "status": 2
 }
Поля ответа:
Пример ответа:
{
  "success": true,
  "order_status": 2,
  "order_status_text": "success",
  "order_id": "32",
  "game_name": "PUBG Mobile",
  "game_id": "2",
  "voucher_id": "123",
  "voucher_name": "600 UC",
  "game_coins": 600,
  "game_currency": "UC",
  "account": "player_123456789",
  "amount": 5.99,
  "amount_currency": "USD",
  "amount_charged": 5,
  "amount_charged_currency": "USD",
  "voucher_code": "ABCD-EFGH-IJKL",
  "voucher_code_2": "MNOP-QRST",
  "need_activation": 1,
  "expiration_date_voucher": "2026-12-31T23:59:59Z",
  "activation_voucher": true,
  "message": "Voucher activated successfully",
  "discount_rate": 0
}
Ошибки:

Получение статуса заказа через уведомления

Метод: POST

Отправляется на URL партнёра.

Партнёр может работать в режиме получения статусов заказов. Если в личном кабинете или через службу поддержки активирован соответствующий функционал и указан URL для отправки нотификаций, при обращении к endpoint /api/pay вы получите первичный ответ со статусом pending. Дальнейшие изменения статуса заказа будут отправляться на ваш endpoint.

Тело уведомления совпадает по структуре с ответом /api/pay и /api/get_order_info для соответствующего типа заказа. Уведомление отправляется при изменении статуса заказа, включая промежуточные статусы обработки и финальные статусы success или error. Для успешной доставки endpoint партнёра должен вернуть HTTP 2xx. При временной ошибке выполняются повторные попытки.

На стороне партнёра должен быть реализован обработчик нотификаторов. Если для обработчика требуются дополнительные заголовки авторизации, они настраиваются в личном кабинете или через службу технической поддержки.

Пример уведомления:
{
    "success": true,
    "order_status": 2,
    "order_status_text": "success",
    "order_id": "7086",
    "game_name": "steam",
    "game_id": 1,
    "account": "gamering",
    "amount": 10.5,
    "amount_currency": "USD",
    "amount_charged": 9.45,
    "amount_charged_currency": "USD",
    "message": "The balance has been successfully replenished"
}

Получение статуса заказа

Метод: GET

/api/get_order_info

Возвращает информацию по заказу. Формат ответа соответствует ответу /api/pay для соответствующего типа операции: пополнение баланса или ваучер. Метод рекомендуется использовать, если клиент не работает через уведомления, если соединение с /api/pay было прервано до получения финального ответа или если заказ вернулся в промежуточном статусе.

Заголовки:
Параметры:
Статусы заказа:

Если заказ был возвращён или отменён после отправки в обработку, метод вернёт order_status=3 и причину в error_text.

Ошибки:

Отправка данных по заказам со стороны партнера для сверки

Метод: POST

/api/revise

Используется партнёром для отправки данных по заказам за определённый период и сверки статусов с данными Gamering. По найденным заказам в системе фиксируются данные сверки.

Заголовки:
Параметры запроса:
Поля ответа:
Пример запроса:
{
    "date_from": "21.01.2026",
    "date_to": "21.01.2026",
    "payments": [
        {
            "order_id": "32",
            "amount": 13164.1,
            "status": 2,
            "transaction_time": "01.04.2025 16:45:12"
        },
        {
            "order_id": "33",
            "amount": 12457.8,
            "status": 3,
            "transaction_time": "01.04.2025 10:37:52"
        },
        {
            "order_id": "34",
            "amount": 13142.32,
            "status": 2,
            "transaction_time": "01.04.2025 10:37:52"
        }
    ]
 }
Пример ответа:
{
    "success": true,
    "payments_count": 3,
    "revise_payments_count": 3,
    "revise_payments_true": 3,
    "revise_payments_false": 0
 }
Ошибки:

Проверка наличия учётной записи в сервисе

Метод: GET

/api/account_check

Возвращает информацию по учётной записи указанного сервиса. Доступно для сервисов с account_check = true.

Для тестовой проверки передайте test=1. В тестовом режиме используйте аккаунт gamering или 77778888 для получения успешного статуса; для остальных значений будет возвращён неуспешный тестовый статус. В production-режиме проверка выполняется для сервисов, где она включена; если проверка временно недоступна, будет возвращён ответ 503.

Заголовки:
Параметры:
Поля ответа:
Пример ответа:
{
    "success": true,
    "message": "The account has been found, you can place an order."
}
{
    "success": false,
    "message": "Account not found, you cannot place an order."
}
Ошибки: