Skip to main content

Обзор

Заявки на вывод средств позволяют мерчантам переводить накопленные USDT с основного баланса Meridian на свой криптокошелек. Средства замораживаются сразу при создании заявки и выводятся после одобрения администратором.
Статус заявки: Заявка проходит этапы pendingcompleted (или cancelled при отклонении).
Доступный баланс: Вы можете выводить только доступный баланс (основной минус замороженный). Замороженные средства включают активные заявки на вывод и суммы по открытым спорам.
Комиссия за вывод: Каждый мерчант имеет индивидуальную комиссию за вывод средств. Комиссия вычитается из запрошенной суммы. В ответе указывается размер комиссии и итоговая сумма перевода.

Создание заявки на вывод

Endpoint для создания заявки на вывод средств:
POST https://api.meridian.vip/api/v1/merchants/withdraw

Обязательные параметры

ПараметрТипОписание
amountnumberСумма вывода в USDT. Минимум: 10 USDT. Пример: 100 = 100 USDT
destinationAddressstringАдрес вашего USDT кошелька (TRC20). Пример: "TN3W4H6rK2ce4vX9YnFxx6HZwMENXLBcMN"

Пример запроса

const crypto = require('crypto');

// Функция для расчета подписи
function calculateSignature(method, url, body, secret) {
  const stringToSign = method + url + (body || '');
  const hmac = crypto.createHmac('sha256', secret);
  hmac.update(stringToSign);
  return hmac.digest('base64');
}

// Данные заявки на вывод
const method = 'POST';
const url = 'https://api.meridian.vip/api/v1/merchants/withdraw';
const body = JSON.stringify({
  amount: 500, // 500 USDT
  destinationAddress: 'TN3W4H6rK2ce4vX9YnFxx6HZwMENXLBcMN' // Ваш USDT кошелек (TRC20)
});

// Ваш API ключ
const apiKey = 'luma_abc123...:luma_xyz789...';
const [keyId, secret] = apiKey.split(':');
const signature = calculateSignature(method, url, body, secret);

// Отправка запроса
const response = await fetch(url, {
  method,
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': apiKey,
    'X-Signature': signature
  },
  body
});

const result = await response.json();
console.log(result);

Пример ответа

{
    "id": "cm3kaz1x30003z8j6m7n8o9p0",
    "ownerId": "cm2abc123def456ghi789jkl0",
    "amountUsdt": "500.000000",
    "withdrawalFeeUsdt": "5.000000",
    "netAmountUsdt": "495.000000",
    "sourceAccountType": "main",
    "destinationAddress": "TN3W***************cMN",
    "status": "pending",
    "requestedAt": "2025-11-03T16:00:00.000Z"
}

Поля ответа

ПолеОписание
idУникальный ID заявки на вывод в системе Meridian
ownerIdID владельца в системе Meridian
amountUsdtЗапрошенная сумма вывода в USDT (строка для точности)
withdrawalFeeUsdtКомиссия за вывод в USDT (индивидуальная для каждого мерчанта)
netAmountUsdtИтоговая сумма к переводу в USDT (amountUsdt - withdrawalFeeUsdt)
sourceAccountTypeТип счета-источника ("main", "commission")
destinationAddressЗамаскированный адрес кошелька (безопасность)
statusСтатус заявки: pending (ожидает одобрения), completed (выполнена), canceled (отклонена)
requestedAtВремя создания заявки

Проверка баланса

Перед созданием заявки рекомендуется проверить доступный баланс:
GET https://api.meridian.vip/api/v1/merchants/balance

Пример ответа

{
  "main": 2500.00,
  "reserved": 500.00,
  "available": 2000.00,
  "accounts": {
    "main": {
      "id": "cm2abc123def456ghi789jkl1",
      "balance": "2500.000000"
    },
    "reserved": {
      "id": "cm2abc123def456ghi789jkl2",
      "balance": "500.000000"
    }
  }
}
Важно: available (доступный баланс) = main (основной) - reserved (замороженный)