Перейти к содержимому

API

На странице

Чтение

Прочитайте один платёжный канал с постоянными адресами по сетям, списком принимаемых токенов и вашими текущими процентами комиссии.

GET/v1/payment-channels/:payment_channel_id

API-ключ: Payment

Читает один канал по идентификатору pc_. Этот вызов делают перед тем, как показать плательщику, куда отправлять деньги: он возвращает актуальный адрес каждой сети и токены, которые эта сеть принимает прямо сейчас.

Ответ (200 OK)

{
  "id": "pc_2QhKZv6mRt9WdA3nYpLbXf",
  "project_id": "prj_xFukZuAJZR06pLVBh3uwzv",
  "external_id": "customer-42",
  "status": "active",
  "is_accepting_payments": true,
  "is_fully_provisioned": false,
  "is_test": false,
  "applied_fee_percent": 1.0,
  "customer_fee_percent": 0,
  "networks": [
    {
      "network": "TRC20",
      "status": "active",
      "address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
      "tokens": [
        { "symbol": "USDT", "minimum_deposit": "1.00" },
        { "symbol": "USDC", "minimum_deposit": "1.00" }
      ]
    },
    {
      "network": "ERC20",
      "status": "active",
      "address": "0x9f2a6c1b4e8d7350ab11c9e5f0d2743b86ce41d9",
      "tokens": [
        { "symbol": "USDT", "minimum_deposit": "12.00" },
        { "symbol": "USDC", "minimum_deposit": "12.00" }
      ]
    },
    {
      "network": "SOL",
      "status": "provisioning",
      "tokens": [
        { "symbol": "USDC", "minimum_deposit": null }
      ]
    }
  ],
  "created_at": 1767225600,
  "updated_at": 1767225780
}

Статусы

Статус Значение Принимает депозиты
provisioning Создан, ни один адрес ещё не готов Нет
active Есть хотя бы один адрес Да
blocked Вы приостановили канал Нет

active необратим. Получив первый адрес, канал уже не возвращается в provisioning сам по себе — остальные сети продолжают готовиться в фоне и появляются по мере готовности. Состояния ошибки нет: подготовка повторяется до успеха.

is_accepting_payments — единственный флаг, по которому стоит ветвить интерфейс. Он равен true, только когда проект активен, канал не заблокирован и хотя бы у одной сети есть и адрес, и принимаемый токен.

Адреса постоянны

Адрес, выданный каналу, закреплён за ним навсегда и никогда не переходит к другому. Кэшируйте его и не запрашивайте заново при каждом открытии страницы.

Две вещи всё же меняются, и интеграция должна за ними следовать:

  • Токены в сети. Включение или выключение токена на проекте меняет массив tokens. Показывайте только то, что перечислено.
  • Набор сетей. Если из проекта убраны все токены сети, сеть исчезает из ответа. Сам адрес не удаляется — при обратном включении токена вернётся тот же адрес, — но маршрут, которого больше нет в ответе, показывать перестаньте.

Минимум зависит от сети и токена

Элемент массива tokens — объект, а не код токена:

Поле Значение
symbol Код токена, например USDT.
minimum_deposit Десятичная строка в единицах самого токена. Наименьшая сумма перевода, которая зачислится.

Минимум привязан к паре «токен + сеть», и разброс между парами — на порядки: один и тот же токен ограничен по-разному в дешёвой сети и в дорогой. Значение читается заново при каждом обращении, поэтому подставляйте его из того ответа, который показываете сейчас, и не задавайте константой в коде.

Перевод меньше минимума на канал не зачисляется и сам обратно не возвращается. Выводите эту сумму рядом с адресом.

minimum_deposit равен null, когда минимум по этой паре сейчас нельзя назвать. Это не значит, что минимума нет: безопасной суммы для такого маршрута тоже нет, поэтому не предлагайте по нему оплату, пока не вернётся число. Принять null за ноль — верный способ получить перевод, который нечем зачислить.

Комиссии текущие, а не исторические

applied_fee_percent и customer_fee_percent описывают ваш тариф сегодня. Это справочные значения. Обязывающие цифры конкретного платежа лежат в депозите, который его зафиксировал: у депозита свои замороженные комиссии и свои gross, fee и net. См. Чтение депозита.

Ошибки

Код HTTP Когда
payment_channels_disabled 503 Платёжные каналы не включены для вашего аккаунта в этой среде.
payment_key_required 403 Запрос подписан ключом выплат (rk_).
payment_channel_not_found 404 Идентификатор не соответствует ничему, доступному этому ключу.
field_invalid_format 400 Сегмент пути не является корректным идентификатором pc_.

Канал другого мерчанта, другой среды или проекта вне области видимости ключа отвечает payment_channel_not_found — так же, как несуществующий канал. API не подтверждает существование того, что не показывает.

Полный каталог — в Кодах ошибок.