Вывод с обменом

Вывод с обменом (withdraw-with-exchange)

Функционал представляет собой новый тип операции и позволяет клиентам PAY выводить активы со счета PAY с конвертацией в другую валюту.

Пример User Story

Как клиент Pay, я хочу вывести 0.1 BTC на внешний кошелек, но чтобы списание произошло с моего счёта в USDT. Для корректного выполнения операции расчет выполняется в обратном порядке: начиная с расчёта всех комиссий, затем выполняется конвертация и вывод.

Основные шаги реализации:

  1. Расчет сетевой брокерской комиссии: К указанной пользователем сумме прибавляется сетевая брокерская комиссия за вывод. Эта комиссия зависит от текущих условий сети и может быть фиксированной или динамической.

  2. Добавление сервисной комиссии: К полученной сумме добавляется сервисная комиссия Pay за предоставление услуги по выводу средств, процент от суммы вывода определяется тарифом.

  3. Конвертация в целевую валюту: После расчета комиссий выполняется конвертация итоговой суммы.

Создание заявки Вывод с обменом

post

Заявка на вывод с конвертацией. Процесс включает два этапа: Обмен -> Вывод. Например, при выводе USDT в BTC: 1. USDT (fromAssetCode) с баланса мерчанта конвертируются в BTC 2. BTC (toCurrencyCode) выводятся на указанный адрес (recipient) в сети Bitcoin.

  Важно:Сумма вывода (amount) указывается в toCurrencyCode.
 
  Совет: Для оценки суммы currencyInCode можно воспользоваться методом "orders/estimate-in".
Header parameters
x-api-keystringRequired
Body
amountstringRequired

Сумма выхода

Example: 10
toCurrencyCodestringRequired

Валюта получения (с сетью)

Example: USDTMATIC
recipientstringRequired

Реципиент (адрес)

Example: 0x0000000000000000000000000000000000000000
requisitesMemoTagstringOptional

Мемо тег (для XRP, TON и т.д.)

Example: 80576
callbackUrlstring · min: 5Optional

Callback url для отправки хуков

Example: https://api.myip.com
commentstringOptional

Комментарий к переводу. Опциональное поле

Example: Оплата сервера за 07.2023
fromAssetCodestringRequired

Ассет из которого конвертируется

Example: BTC
Responses
200
Успешное создание заявки на вывод с обменом
application/json
Responseall of
and
post
POST /api/v1/integration/orders/withdraw-with-exchange HTTP/1.1
Host: 
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 239

{
  "amount": 10,
  "toCurrencyCode": "USDTMATIC",
  "recipient": "0x0000000000000000000000000000000000000000",
  "requisitesMemoTag": "80576",
  "callbackUrl": "https://api.myip.com",
  "comment": "Оплата сервера за 07.2023",
  "fromAssetCode": "BTC"
}
{
  "message": "ok",
  "data": {
    "id": 1,
    "uid": "3422b448-2460-4fd2-9183-8000de6f8343",
    "createdAt": "2025-07-01T01:58:59.914Z",
    "updatedAt": "2025-07-01T01:58:59.914Z",
    "deletedAt": "2025-07-01T01:58:59.914Z",
    "serviceCommission": "0.565",
    "netCommission": "0.565",
    "comment": "Комментарий",
    "publicComment": "Публичный комментарий",
    "merchantUid": "3422b448-2460-4fd2-9183-8000de6f8343",
    "merchantName": "Тестовый мерчант",
    "merchantId": 6547,
    "type": "invoice",
    "status": "created",
    "invoiceCurrencyCode": "BTC",
    "currencyInCode": "USDTERC20",
    "currencyOutCode": "USDT",
    "invoiceAmount": "10.2334",
    "amountInExpected": "43.11",
    "amountInFact": "44",
    "amountOutExpected": "43.11,",
    "amountOutFact": "44",
    "hedgeRate": "44",
    "isDone": false,
    "apiMode": "ui",
    "risk": "24",
    "requisites": "0xD72901047ffd7Ad0f581016E6B8cF563E02E44bB",
    "requisitesIn": "0xD72901047ffd7Ad0f581016E6B8cF563E02E44bB",
    "requisitesOut": "0xD72901047ffd7Ad0f581016E6B8cF563E02E44bB",
    "requisitesMemoTag": "80576",
    "requisitesMemoTagIn": "80576",
    "requisitesMemoTagOut": "80576",
    "billingTag": "example@mail.com",
    "requisitesQrCode": "https://example.com/img-name.png",
    "assetInCode": "BTC",
    "assetOutCode": "USDT",
    "networkInCode": "ETH",
    "networkOutCode": "NEAR",
    "balanceAfter": "44",
    "callbackUrl": "https://example/myCallback",
    "invoicePublicUrl": "https://example/myInvoice",
    "txId": "afda7a230080dee2119ce5d0a4a83980071eef6e5b14f1dc9ec7e510e63983fd",
    "expirationTime": "2025-07-01T01:58:59.914Z",
    "isImPayed": false,
    "isBayerPaysService": false,
    "serviceFeeCurrencyCode": "USDT",
    "netFeeCurrencyCode": "USDT",
    "requisitesInUrl": "https://example.com/requisites",
    "orderCurrencyType": "crypto",
    "paymentMethod": "sbp",
    "providerCode": "123123123123",
    "providerAliasCode": "text",
    "providerName": "text",
    "paymentTiming": "onTime",
    "amountValidity": "valid"
  },
  "count": 1
}

Last updated