Общая информация
Принцип работы
  • Программный интерфейс построен по принципам REST, на основе спецификации JSON-API. При отправке запросов необходимо отправлять HTTP заголовок Content-Type=application/json.
  • Базовый адрес продуктивного окружения https://dg-api.wata.pro/api
  • Тайм-аут на получение ответа от API — 1 минута.

Аутентификация

Для доступа к API используется Bearer аутентификация на основе JWT токена. JWT токен (access token) необходимо передавать в каждом требующем аутентификации запросе в HTTP заголовке Authorization.

Access token можно получить в личном кабинете мерчанта:

  1. Получите приглашение от вашего личного менеджера по Email
  2. Перейдите по ссылке из письма, чтобы задать пароль
  3. После создания пароля авторизуйтесь в личном кабинете мерчанта
  4. (https://merchant.wata.pro/login)
  5. В разделе "Терминалы" нажмите на плашку с боевым терминалом
  6. Справа откроется панель с настройками, в ней нужно создать токены. Всего можно создать от 1 до 5 токенов.
  7. Придумайте название и выберите время жизни токена. Время жизни access token составляет от 1 до 12 месяцев.
После истечения этого времени запросы к API начнут возвращать 401 HTTP статус код.
На стороне системы WATA не хранится access token, поэтому его невозможно восстановить. Возможно только сгенерировать access token заново, поэтому после генерации токена рекомендуем хранить его в безопасном месте.


HTTP статус коды ответов
В случае ошибки при обработке запроса API возвращает HTTP статус код, отличный от 200-го.
Также в случае получения 400-го кода возвращается ответ с детализацией ошибки.
Пример ответа с детализацией ошибки
Response 400
{
   "error":{
      "code":null,
      "message":"Ваш запрос недействителен!",
      "details":"При проверке были обнаружены следующие ошибки - 'Amount' должно быть заполнено.",
      "data":{
         
      },
      "validationErrors":[
         {
            "message":"'Amount' должно быть заполнено.",
            "members":[
               "amount"
            ]
         }
      ]
   }
}

Коды ошибок

Словарь терминов
Пополнение аккаунтов в Steam
Получение стоимости пополнения аккаунта
Используйте этот метод, чтобы для заданной суммы пополнения аккаунта в Steam рассчитать стоимость, включающую сумму пополнения и комиссию WATA.

Параметры запроса
Параметры ответа
Пример запроса
GET https://dg-api.wata.pro/api/orders/steam/amount?NetAmount=1000&Account=accountName
Authorization: Bearer <access-token>
Пример ответа
Response 200
{
  "amountTotal": 1033.78
}

Создание заказа
Используйте этот метод для создания заказа на пополнение аккаунта в Steam и получения платежной ссылки. Доход мерчанта формируется из разницы между суммой платежа и стоимостью пополнения аккаунта.
На платежной форме WATA могут находиться несколько методов оплаты, например, оплата картой и через СБП, в зависимости от выданного терминала. Платежная ссылка одноразовая и становится недействительной после первой успешной оплаты.


Параметры запроса
Параметры ответа
Пример запроса
POST https://dg-api.wata.pro/api/orders/steam
Authorization: Bearer <access-token>
{ 
 "account": "AccountName",
  "amount": 1100,
  "netAmount": 1000,
  "description": "steam",
  "orderId": "100200320",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}
Пример ответа
{
  "orderId": "100200320",
  "amount": 1100,
  "paymentLink": "https://payment.wata.pro/pay-form/3a1b02f5-d60e-1497-f35e-200xxxxxxx",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}

Проверка статуса заказа
Используйте этот метод для проверки статуса заказа

Параметры запроса
Параметры ответа
Пример запроса
GET https://dg-api.wata.pro/api/orders/steam/100200314
Authorization: Bearer <access-token>
Пример ответа
Response 200
{
  "orderId": "100200314",
  "amount": 1200,
  "status": "Success",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}
Покупка игровых позиций (TopUp)
Получение списка игр и позиций
Используйте этот метод для получения списка игр, игровых позиций и ваучеров внутри каждой игры

Параметры ответа
Пример запроса
GET https://dg-api.wata.pro/api/topup
Authorization: Bearer <access-token>
Пример ответа
Response 200
[
  {
    "gameId": 3,
    "gameName": "Genshin Impact",
    "positions": [
      {
        "positionId": 3,
        "productId": 3,
        "positionName": "60 Genesis Crystals",
        "productName": "Genshin Impact",
        "price": 72.42,
        "category": "Games",
        "country": ""
      },
      {
        "positionId": 6,
        "productId": 3,
        "positionName": "300 Genesis Crystals",
        "productName": "Genshin Impact",
        "price": 368.88,
        "category": "Games",
        "country": ""
      },
  },
  {
   "gameId": 4,
    "gameName": "Honkai Star Rail",
    "positions": [
      {
        "positionId": 4,
        "productId": 4,
        "positionName": "60 Oneiric Shard",
        "productName": "Honkai Star Rail",
        "price": 94.57,
        "category": "Games",
        "country": ""
      },
      {
        "positionId": 11,
        "productId": 4,
        "positionName": "300 Oneiric Shard",
        "productName": "Honkai Star Rail",
        "price": 382.5,
        "category": "Games",
        "country": ""
      },
  },
]

Получение информации по конкретной игре и ее позициям
Используйте этот метод для получения игровых позиций внутри конкретной игры и списка обязательных параметров для создания заказа

Параметры запроса
Пример запроса
GET https://dg-api.wata.pro/api/topup/3
Authorization: Bearer <access-token>
Пример ответа
Response 200
{
  "gameId": 3,
  "gameName": "Genshin Impact",
  "positions": [
    {
      "positionId": 9,
      "productId": 3,
      "positionName": "3280 Genesis Crystals",
      "productName": "Genshin Impact",
      "price": 3704.1,
      "category": null,
      "country": null
    },
    {
      "positionId": 8,
      "productId": 3,
      "positionName": "1980 Genesis Crystals",
      "productName": "Genshin Impact",
      "price": 2407.5,
      "category": null,
      "country": null
    },
  ],
  "fields": [
    "Server",
    "User ID"
  ],
  "servers": {
    "Asia": "os_asia",
    "Europe": "os_euro",
    "America": "os_usa",
    "TW, HK, MO": "os_cht"
  },
}

Создание заказа
Используйте этот метод для создания заказа на покупку игровой позиции и получения платежной ссылки. Доход мерчанта формируется из разницы между ценой продажи и стоимостью игровой позиции

На платежной форме WATA могут находиться несколько методов оплаты, например, оплата картой и через СБП, в зависимости от выданного терминала. Платежная ссылка одноразовая и становится недействительной после первой успешной оплаты


Параметры запроса
Параметры ответа
Пример запроса
POST https://dg-api.wata.pro/api/topup
Authorization: Bearer <access-token> 
Content-Type: application/json
{
  "orderId": "300200101",
  "amount": 75,
  "positionId": 3,
  "description": "test",
  "fields": {
    "server": "os_asia",
    "userId": "test"
  },
  "email": "test@mail.com",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}'
Пример ответа
{
  "orderId": "300200101",
  "amount": 75,
  "price": 72.42,
  "userId": "test",
  "email": "test@mail.com",
  "positionId": 3,
  "server": "os_asia",
  "paymentLink": "<paymentLink>",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}

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

Используйте этот метод для получения статуса заказа по его номеру

Параметры запроса
Параметры ответа
Пример запроса
GET https://dg-api.wata.pro/api/topup/order/300200101
Authorization: Bearer <access-token>
Пример ответа
{
  "amount": 75,
  "userId": "test",
  "orderId": "300200101",
  "status": "Success",
  "positionId": 3,
  "gameId": 3,
  "server": "os_asia",
  "email": "test@mail.com",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}

Покупка ваучеров (Vouchers)
Получение списка сервисов
Используйте этот метод для получения списка сервисов кодов пополнений (ваучеров)

Параметры ответа
Пример запроса
GET https://dg-api.wata.pro/api/vouchers/services
Authorization: Bearer <access-token>
Пример ответа
Response 200
[
  {
    "id": 2,
    "name": "Spotify"
  },
  {
    "id": 1,
    "name": "Steam"
  },
  {
    "id": 3,
    "name": "Valorant"
  }
]

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

Используйте этот метод для получения списка кодов пополнений (ваучеров) для выбранного сервиса и количества доступных ваучеров

Параметры запроса
Параметры ответа
Пример запроса
GET https://dg-api.wata.pro/api/vouchers?serviceId=1
Authorization: Bearer <access-token>
Пример ответа
Response 200
 {
    "id": 16,
    "price": 418.11,
    "name": "$5 Steam Wallet Code",
    "service": "Steam",
    "country": "US США",
    "count": 6902
  },
  {
    "id": 62,
    "price": 11173.67,
    "name": "1000 HKD",
    "service": "Steam",
    "country": "HK Гонконг",
    "count": 5
  },
  {
    "id": 30,
    "price": 831.04,
    "name": "$10 Steam Wallet Code",
    "service": "Steam",
    "country": "AR Аргентина",
    "count": 49
  },

Создание заказа

Используйте этот метод для создания заказа на покупку ваучеров и получения платежной ссылки. Доход мерчанта формируется из разницы между ценой продажи и стоимостью ваучера

На платежной форме WATA могут находиться несколько методов оплаты, например, оплата картой и через СБП, в зависимости от выданного терминала. Платежная ссылка одноразовая и становится недействительной после первой успешной оплаты

Параметры запроса
Параметры ответа
Пример запроса
POST https://dg-api.wata.pro/api/vouchers/buy
Authorization: Bearer <access-token>
Content-Type: application/json
{
  "voucherId": 16,
  "amount": 500,
  "count": 1,
  "orderId": "500200100",
  "email": "test@mail.com",
  "description": "test",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}
Пример ответа
Response 200
{
  "orderId": "500200100",
  "amount": 500,
  "price": 418.11,
  "codeId": 16,
  "count": 1,
  "email": "test@mail.com",
  "paymentLink": "<paymentLink>",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}

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

Используйте этот метод для получения статуса заказа и кодов пополнений (ваучеров)

Параметры запроса
Параметры ответа
Пример запроса
GET https://dg-api.wata.pro/api/vouchers/order/500200100
Authorization: Bearer <access-token>
Пример ответа
Response 200
{
  "orderId": "500200100",
  "amount": 500,
  "status": "SUCCESS",
  "codeId": 16,
  "count": 1,
  "vouchers": [
    "RA-89AHCYJHL6UFFLCN"
  ],
  "description": null,
  "creationTime": "2025-08-21T13:57:40.006531Z",
  "successRedirectUrl": "string",
  "failRedirectUrl": "string"
}