Sign in
Платежі та виплати/Статичні гаманці

Статичні гаманці

Постійні депозитні адреси, прив'язані до конкретного замовлення або користувача, ідеальні для повторюваних та довгострокових платежів.

Статичні гаманці — це постійні адреси для прийому криптовалютних платежів. Вони пов'язані з конкретним order_id і є унікальними за комбінацією project_id + order_id + currency + network.

Використовуйте статичні гаманці для:

  • Повторюваних депозитів від одного й того самого користувача
  • Довгострокових платіжних адрес, що відображаються у профілі користувача
  • Високооб'ємних потоків депозитів, де ви хочете мати стабільну адресу для кожного користувача

Створити статичний гаманець

POST/v1/static-wallet

Параметри запиту

ПолеТипОбов'язковеОпис
currencystringтакКриптовалюта (USDT, BTC, ETH тощо)
networkstringтакКод мережі
order_idstringтакВаш ID замовлення/користувача (до 255 символів)
labelstringніМітка гаманця (до 255 символів)
url_callbackstringтакURL для webhook-сповіщень
invite_codestringніКод реферера

Приклад запиту

JSON
{
  "currency": "USDT",
  "network": "TRX-TRC20",
  "order_id": "USER-123",
  "label": "User deposit #123",
  "url_callback": "https://your-site.com/webhook/static"
}

Приклад відповіді

JSON
{
  "state": 0,
  "result": {
    "uuid": "019b2265-34d8-7001-a230-8f97de90d481",
    "address": "TXYZabc123...",
    "currency": "USDT",
    "network": "TRX-TRC20",
    "label": "User deposit #123",
    "order_id": "USER-123",
    "status": "active",
    "url": "https://go.2328.io/static/019b2265-34d8-7001-a230-8f97de90d481",
    "created_at": "2026-01-20T12:00:00Z",
    "qr": "data:image/png;base64,iVBORw0..."
  }
}

Інформація про гаманець

Отримайте інформацію про статичний гаманець за uuid або address.

POST/v1/static-wallet/info

Параметри запиту

ПолеТипОбов'язковеОпис
uuidstringтак*UUID статичного гаманця
addressstringтак*Блокчейн-адреса гаманця

Принаймні одне з полів uuid або address є обов'язковим.

Приклад відповіді

JSON
{
  "state": 0,
  "result": {
    "uuid": "019b2265-34d8-7001-a230-8f97de90d481",
    "address": "TXYZabc123...",
    "currency": "USDT",
    "network": "TRX-TRC20",
    "status": "active",
    "total_received": "1250.50",
    "transactions_count": 3,
    "created_at": "2026-01-20T12:00:00Z",
    "qr": "data:image/png;base64,iVBORw0..."
  }
}
  • total_received — сума всіх депозитів, отриманих цим гаманцем, у currency.
  • transactions_count — кількість отриманих депозитів на цей момент.
  • qr — QR-код депозитної адреси, закодований у base64 (data URI) (завжди присутній для статичних гаманців, адресу призначають під час створення).

Список гаманців

POST/v1/static-wallet/list

Параметри запиту

ПолеТипОбов'язковеОпис
statusstringніФільтрувати за статусом (active, inactive)
currencystringніФільтрувати за валютою
networkstringніФільтрувати за мережею
order_idstringніФільтрувати за order_id
pageintніНомер сторінки (за замовчуванням: 1)
per_pageintніЕлементів на сторінці (за замовчуванням: 20, максимум: 100)

Приклад відповіді

JSON
{
  "state": 0,
  "result": {
    "items": [
      {
        "uuid": "019b2265-...",
        "address": "TXYZabc123...",
        "currency": "USDT",
        "network": "TRX-TRC20",
        "status": "active",
        "total_received": "1250.50",
        "transactions_count": 3
      }
    ],
    "paginate": {
      "count": 1,
      "current_page": 1,
      "per_page": 20,
      "total": 1,
      "total_pages": 1,
      "has_more": false
    }
  }
}

Увімкнути / вимкнути гаманець

Перемикає, чи приймає статичний гаманець нові платежі.

POST/v1/static-wallet/disable
POST/v1/static-wallet/enable

Запит

Обидва endpoints приймають єдиний параметр:

JSON
{
  "uuid": "019b2265-34d8-7001-a230-8f97de90d481"
}

Приклад відповіді

JSON
{
  "state": 0,
  "result": {
    "uuid": "019b2265-34d8-7001-a230-8f97de90d481",
    "status": "inactive",
    "message": "Static wallet disabled successfully"
  }
}

Для enable status дорівнює "active", а message"Static wallet enabled successfully".

Транзакції гаманця

Отримайте список усіх депозитів, отриманих статичним гаманцем.

POST/v1/static-wallet/transactions

Параметри запиту

ПолеТипОбов'язковеОпис
uuidstringтакUUID статичного гаманця
date_fromdateніПочаткова дата (YYYY-MM-DD)
date_todateніКінцева дата (YYYY-MM-DD)
pageintніНомер сторінки (за замовчуванням: 1)
per_pageintніЕлементів на сторінці (за замовчуванням: 15, максимум: 5000)

Приклад відповіді

JSON
{
  "state": 0,
  "result": {
    "items": [
      {
        "uuid": "abc123-def456-...",
        "order_id": "USER-123",
        "amount": "100.00",
        "currency": "USDT",
        "payment_status": "paid",
        "txid": "0xabc123def456...",
        "fee_amount": "3.00",
        "net_amount": "97.00",
        "created_at": "2026-01-20T15:30:00Z"
      }
    ],
    "paginate": {
      "count": 1,
      "hasPages": true,
      "perPage": 15,
      "page": 1
    }
  }
}
  • fee_amount — платформна комісія, утримана з цього депозиту, у currency.
  • net_amount — сума, зарахована на мерчант-баланс після комісії.

Webhooks статичних гаманців

Коли на статичний гаманець надходить платіж, система надсилає webhook на url_callback.

Формат webhook для статичних гаманців відрізняється від звичайних webhooks платежів. Зокрема, webhooks статичних гаманців містять поле merchant_amount, яке слід використовувати для зарахування.

Payload webhook

JSON
{
  "uuid": "a28b293f-5c76-4053-8062-ae9ca4ab784b",
  "order_id": "USER-7666308594",
  "amount": "10.00000000",
  "currency": "USDT",
  "amount_usd": "10.00000000",
  "exchange_rate": "1.00000000",
  "payer_currency": "USDT",
  "payer_amount": "10.00000000",
  "network": "TRX-TRC20",
  "address": "TMU9Tgpchvgbywkbj5SdC8KJS73t5m3M7G",
  "payment_status": "paid",
  "txid": "8369ede26a0da05b1bae154b4bb4072eb2453db30ba86b21831902670929454f",
  "payment_amount": "10.00000000",
  "merchant_amount": "9.920000000000000000",
  "created_at": "2026-05-09T16:13:04+03:00",
  "sign": "dd958d1405febce670a9a196e9141784b9f2a5f39cd6d1832d6f3f68d0de1e10"
}

Webhooks статичних гаманців не містять url та expires_at (оскільки адреса є постійною, а не сесією). Вони містять exchange_rate та created_at.

Опис полів

ПолеТипОпис
uuidstringUUID транзакції (рахунка) для цього депозиту
order_idstringВаш order_id статичного гаманця
amountdecimal (8 dp)Отримана сума криптовалюти
currencystringОтримана криптовалюта (відповідає currency гаманця)
amount_usddecimal (8 dp)Вартість у USD на момент отримання
exchange_ratedecimalВикористаний курс crypto / USD
payer_currencystringТе саме, що й currency, для статичних гаманців
payer_amountdecimal (8 dp)Те саме, що й amount, для статичних гаманців
networkstringБлокчейн-мережа
addressstringАдреса статичного гаманця
payment_statusstringЗавжди paid для статичних
txidstringХеш блокчейн-транзакції
payment_amountdecimal (8 dp)Те саме, що й amount
merchant_amountdecimal (18 dp)Сума після утримання комісії — використовуйте її для зарахування
created_atstring (ISO 8601)Коли депозит було отримано
signstring (hex)Підпис HMAC-SHA256 payload

Найкращі практики

  • Унікальний order_id — використовуйте унікальний order_id для кожного користувача або замовлення
  • Ідемпотентність — перевіряйте txid перед обробкою, щоб уникнути дублювання зарахувань
  • Перевіряйте підписи — ЗАВЖДИ перевіряйте підпис sign перед зарахуванням коштів
  • Використовуйте merchant_amount — зараховуйте користувачам на основі merchant_amount, а не payment_amount