Gamering API V1.0.6 Documentation

This API allows partners to receive game vouchers, process voucher issuance, activate vouchers, top up service and game balances, and manage order statuses. The sections below describe the main API methods, request parameters, response fields, examples, and possible errors.

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

Available API Endpoints

  1. /api/auth/login - Partner authorization
  2. /api/balance - Get current balance
  3. /api/gameslist - Get the list of games/services available for voucher purchase or direct balance top-up
  4. /api/voucher_available - Get available vouchers by game/service ID
  5. /api/pay - Universal request for balance top-up or voucher purchase
  6. /api/order_update - Update order status
  7. /api/get_order_info - Get order status and order information
  8. /api/revise - Submit a transaction register for reconciliation
  9. /api/account_check - Check account information for the specified service
Download Postman collection

Authorization and Token Retrieval

Method: POST

/api/auth/login

This method is used to authorize a partner. A successful request returns a JWT token that must be used for authorization in other methods.

Token lifetime - 1 hour

Request parameters:
Request example:
{
  "login": "login",
  "api_key": "password"
}
Response fields:
Response example:
{
  "token": "eyJhbGciOi...",
  "expires_in": 3600,
  "expires_at": "2026-04-15 15:30:14"
}
Errors:

Get Account Balance

Method: GET

/api/balance

This method is used to get the account balance.

Headers:
Request parameters:
Response fields:
Response example:
{
  "partner_id": 1,
  "partner_name": "dev",
  "user_name": "dev",
  "user_id": 1,
  "balance": 100000,
  "currency": "USD"
}
Errors:

Get Game List

Method: GET

/api/gameslist

Returns the list of games and services available to the partner.

Headers:
Response fields:
Response example:
{
  "available_games": [
    {
      "id": 1,
      "game_name": "steam",
      "description": "Steam account top-up",
      "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": "Voucher top-up, voucher code",
      "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
    }
  ]
}
Errors:

Get Available Voucher Denominations

Method: GET

/api/voucher_available

Returns the list of voucher denominations by game ID.

Headers:
Parameters:
Response fields:

If account_need=true, the account value in /api/pay must match account_format. For example, for userid|zoneid, pass account=gamering|1234. If the account consists of a single value, account_fields and account_separator are not returned, and account_format contains the required single identifier.

Response example:
{
  "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"
        }
      ]
    }
  ]
}
Response example for a voucher without account transfer:
{
  "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
    }
  ]
}
Errors:

Voucher Purchase / Balance Top-Up

Method: POST

/api/pay

Creates an order and returns a voucher or a balance top-up result.

In production, the request passes authorization, service access, denomination availability, discount, and partner balance checks. If the order completes successfully, the amount is debited from the partner balance. If the order fails, the order charge is not retained on the balance.

The test=1 parameter can be passed in production for a test transaction. In this mode, the order is created and passes through the API scenario, but suppliers are not contacted and the partner balance is not debited.

If order status notifications are enabled for the partner, the initial /api/pay response returns pending, and the final result is sent to the partner webhook. If notifications are not enabled, the API waits up to 60 seconds for the final result. If no final result is received within 60 seconds, the API returns pending, and the current status can be retrieved through /api/get_order_info.

Headers:
Parameters:

Common optional parameter:

For balance top-up (service categories with "type": "balance"):

Final successful response fields for balance top-up:
Final balance top-up response example:
{
  "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 balance top-up response example:
{
  "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"
}
Unsuccessful balance top-up response example:
{
  "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"
}

For voucher purchase (service categories with "type": "voucher"):

Response fields for voucher purchase or reservation:

For vouchers that are direct account top-ups, voucher_code, voucher_code_2, and voucher expiration date are not returned. For these orders, need_activation=0, and the intermediate top-up status is returned as order_status=5. The final result will be available through /api/get_order_info or a webhook notification if webhooks are enabled.

Voucher purchase response examples:
{
  "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"
}
Response example for a direct account top-up that is still in progress:
{
  "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
}
Initial response example when using order status notifications or when synchronous waiting times out:
{
  "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
}
Errors:

Update Order Status

Method: POST

/api/order_update

Used by the partner to notify about the payment result for orders created through /api/pay with request=1 and waiting for payment confirmation.

When status=2 is sent, the order is confirmed. For a voucher, the code is issued to the partner; if activation was requested when the order was created and the service supports it, activation is attempted. If activation is not supported or was not requested, the voucher is issued without activation.

When status=3 is sent, the order is moved to error, the voucher reservation is released, and the partner balance is not debited.

If the order has already been finalized, the status is not changed again. A repeated status=2 call is allowed only for a repeated activation attempt if the order is already successful, activation was requested, the service supports activation, and the previous attempt failed.

Headers:
Request parameters:
Request example:
{
  "order_id": "32",
  "status": 2
}
Response fields:
Response example:
{
  "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
}
Errors:

Receiving Order Status Through Notifications

Method: POST

Sent to the partner URL.

The partner can work in order status notification mode. If this functionality is enabled in the partner account or through support and a notification URL is configured, a call to /api/pay returns an initial response with pending status. Further order status changes are sent to your endpoint.

The notification body has the same structure as the /api/pay and /api/get_order_info response for the relevant order type. A notification is sent when the order status changes, including intermediate processing statuses and final success or error statuses. For successful delivery, the partner endpoint must return HTTP 2xx. Temporary delivery errors are retried.

The partner must implement a notification handler. If the handler requires additional authorization headers, they are configured in the partner account or through support.

Notification example:
{
  "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 Order Status

Method: GET

/api/get_order_info

Returns order information. The response format matches the /api/pay response for the corresponding operation type: balance top-up or voucher. This method is recommended if the client does not use notifications, if the connection to /api/pay was interrupted before the final response was received, or if the order was returned in an intermediate status.

Headers:
Parameters:
Order statuses:

If an order was refunded or cancelled after being sent to processing, this method returns order_status=3 and the reason in error_text.

Errors:

Submit Partner Order Data for Reconciliation

Method: POST

/api/revise

Used by the partner to submit order data for a selected period and reconcile statuses with Gamering data. For orders found in the system, reconciliation data is recorded.

Headers:
Request parameters:
Response fields:
Request example:
{
  "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"
    }
  ]
}
Response example:
{
  "success": true,
  "payments_count": 3,
  "revise_payments_count": 3,
  "revise_payments_true": 3,
  "revise_payments_false": 0
}
Errors:

Check Account Availability in a Service

Method: GET

/api/account_check

Returns information about the account for the specified service. Available for services with account_check=true.

For a test check, pass test=1. In test mode, use gamering or 77778888 to receive a successful status; other values return an unsuccessful test status. In production, account check is performed for services where it is enabled; if the check is temporarily unavailable, response 503 is returned.

Headers:
Parameters:
Response fields:
Response example:
{
  "success": true,
  "message": "The account has been found, you can place an order."
}
{
  "success": false,
  "message": "Account not found, you cannot place an order."
}
Errors: