# Выплаты Binance

### Установка модуля

Используя параметры ниже, установите модуль выплаты через функционал "**Install plugin**" по инструкции [Install plugin](/dopolnitelnye-sistemy/install-plugin.md).

<details>

<summary>Параметры для Install Plugin</summary>

**Plugin type**: <mark style="color:orange;">**`Payout module`**</mark>

**Plugin URL**: <mark style="color:orange;">**`@boxexchanger-plugins/payout-binance`**</mark>

**Directory path**: <mark style="color:orange;">**`binance`**</mark>

**Auth: (Deploy token)**: оставляем пустым

**Package tag**: <mark style="color:orange;">**`latest`**</mark>

</details>

### Настройка API ключей в админ панели

1. Войдите в аккаунт Binance -> перейдите на страницу [**Управление API**](https://www.binance.com/ru-UA/my/settings/api-management)**.**
2. Нажмите "[**Создать API**](#user-content-fn-1)[^1]" -> выберите тип ключа API, к примеру, "**Сгенерированный системой**" -> нажмите "[**Далее**](#user-content-fn-2)[^2]" -> создайте метку для ключа API -> нажмите "[**Далее**](#user-content-fn-3)[^3]" -> пройдите проверку безопасности.&#x20;
3. После генерации ключей, [**скопируйте** ](#user-content-fn-4)[^4]значения **API Key** и **Secret key** в надежное место.
4. В админ панели BoxExchanger перейдите на страницу настроек модуля выплаты Binance. Для этого перейдите на страницу "**Мерчант и API**" - раздел "**PAYOUT SYSTEM**" - настройки ([**значок настроек**](#user-content-fn-5)[^5]) в блоке с модулем "**Binance**".&#x20;
5. В поле "**Withdraw from**" введите подходящую валюту. Подробнее в разделе [#dopolnitelnye-nastroiki-modulya](#dopolnitelnye-nastroiki-modulya "mention").
6. В поле "**API Key**" вставьте, скопированный на шаге 3, **API key -** нажмите "[**Save**](#user-content-fn-6)[^6]".
7. В поле "**API Secret**" вставьте, скопированный на шаге 3, **Secret key** - нажмите "[**Save**](#user-content-fn-7)[^7]". *(после перезагрузки страницы, **API Secret** будет скрыт и перестанет отображаться в админ панели в целях безопасности).*
8. На странице настроек модуля Binance в разделе "**IP SERVER**", [**скопируйте** ](#user-content-fn-8)[^8]IP -> вернитесь на страницу "**Управление API**" в ЛК Binance -> в блоке с созданным API ключом, нажмите "[**Редактировать ограничения**](#user-content-fn-9)[^9]" -> выберите пункт "**Разрешить доступ только к доверенным IP-адресам**" -> вставьте IP, скопированный ранее -> "[**Подтвердить**](#user-content-fn-10)[^10]".
9. В разделе "**Ограничения API**" выберите разрешенные действия, указанные ниже -> нажмите "[**Сохранить**](#user-content-fn-11)[^11]" -> пройдите проверку безопасности.&#x20;

<details>

<summary>Разрешенные действия</summary>

* Разрешить универсальные операции
* Включить спотовую и маржинальную торговлю
* Включить возможность вывода средств

</details>

9. Модуль выплаты Binance настроен.

### Алгоритм работы модуля (Withdraw from USDT)

{% hint style="info" %}
**Формула для расчета суммы ордера**: Сумма, которую должен получить клиент по заявке + сумма за вывод этой валюты + 0.2% (0.1% торговая комиссия и 0.1% погрешности) от суммы двух предыдущих слагаемых - Сумма валюты на спотовом балансе. \
**Пример:**

* Обмен 5 USDT -> 50 TRX
* Модуль выплаты для TRX: Binance
* Комиссия за вывод TRX с Binance: 1 TRX
* Сумма TRX на спотовом балансе: 0 TRX

**Расчет суммы ордера**:  (50 TRX + 1 TRX) + (50 TRX + 1 TRX)\*0.02 - 0 TRX = 51 TRX + 1.02 TRX = 52.02 TRX (ордер будет выставлен на сумму 52.1 из-за округления Binance)
{% endhint %}

1. Запуск модуля выплат Binance, путем перевода заявки в статус "На выплату" (подтверждения выплаты "Allow auto payout", если для направления выключен "Автообмен").
2. Проверка баланса на спотовом счету для валюты, которую должен получить клиент.&#x20;
3. В случае если:

* **Валюты на балансе достаточно** -> скрипт создает заявку на вывод валюты (без учета комиссии за вывод) на адрес кошелька клиента.
* **Валюты на балансе недостаточно** -> скрипт выставляет в паре **Валюта/USDT** market ордер (но не меньше минимальной суммы ордера) на покупку недостающей суммы (*формула для расчета суммы ордера выше*) для валюты на вывод -> заявка на вывод валюты (без учета комиссии за вывод) на адрес кошелька клиента.

<details>

<summary>Пример #1 Недостаточная сумма валюты для вывода на спотовом балансе Binance</summary>

* Обмен 50 USDT -> 500 TRX
* Модуль выплаты для TRX: Binance
* Комиссия за вывод TRX с Binance: 1 TRX
* Сумма TRX на спотовом балансе: 400 TRX

1. Скрипт высчитывает недостающую сумму TRX для вывода: (500 TRX + 1 TRX) - 400 TRX = 101 TRX&#x20;
2. Скрипт выставляет в паре TRX/USDT market ордер на покупку 101 TRX + 0.2% = \~101.2 TRX&#x20;
3. Скрипт создает заявку на вывод 500 TRX, а 1 TRX уходит на комиссии.

</details>

4. Смена статуса заявки на "Завершена" и добавления комментария к заявке с хешем вывода.&#x20;

### Особенности работы модуля

* Средства на Funding балансе не учитываются скриптом.
* Если недостающая сумма для вывода будет меньше минимальной суммы ордера в данной паре (Обычно ≥ эквивалент 5 USDT), то скрипт будет выставлять минимальный market ордер на покупку (эквивалент 5 USDT + 0.2%).

<details>

<summary>Пример #2 Недостающая сумма для вывода меньше минимальной суммы ордера</summary>

* Обмен 50 USDT -> 500 TRX
* Модуль выплаты для TRX: Binance
* Комиссия за вывод TRX с Binance: 1 TRX
* Сумма TRX на спотовом балансе: 490 TRX
* Минимальная сумма ордера в паре TRX/USDT:  ≥ эквивалент 5 USDT

1. Скрипт высчитывает недостающую сумму TRX для вывода: (500 TRX + 1 TRX) - 490 TRX = 11 TRX&#x20;
2. Так как 11 TRX < минимальной суммы ордера в паре -> в паре TRX/USDT выставляется market ордер на покупку на сумму TRX, эквивалентную 5 USDT, к примеру, 50 TRX (сумма может меняться в зависимости от актуального рыночного BID курса в паре TRX/USDT) + 0.2% = \~ 50,1 TRX&#x20;
3. Скрипт создает заявку на вывод 500 TRX, а 1 TRX уходит на комиссии.

</details>

* Сумма ордера округляется в зависимости от пары. К примеру, если недостающая сумма для вывода TRX составляет 45.8623214939582570487 TRX, то ордер будет выставлен на 45.9 TRX.&#x20;
* Комиссия за вывод средств на адрес пользователя Binance возвращается на баланс.&#x20;

### Дополнительные настройки модуля

* [**Withdraw from**](#user-content-fn-12)[^12] **-** в зависимости от выбранного параметра будет зависеть процесс получения валюты для вывода клиенту по заявке. \
  Для настройки введите заглавными буквами одну из предложенных валют -> нажмите "**Save**".

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>DIRECT</strong> - прямой вывод валюты без обмена. К примеру, если необходимо вывести BTC, то у вас на балансе Binance должен быть резерв BTC. Для ETH - резерв ETH на балансе.</p><p><strong>BTC/ETH/USDT</strong> - использование указанной валюты для получения валюты, которую должен получить клиент по заявке. К примеру, клиент должен получить DOGE, для поля "<strong>Withdraw from</strong>" выбрано "<strong>USDT</strong>" - в таком случае у вас на балансе должен быть резерв USDT, за который в паре DOGE/USDT будет куплен нужный объем DOGE. <br>Обычно выбирается "<strong>USDT</strong>".</p></div>
* [**API URL**](#user-content-fn-13)[^13] **-** ссылка на актуальный URL API Binance. Значение указано по умолчанию.&#x20;

[^1]: ![](/files/8vuDvESOtKnnmO6Jk0vq)

[^2]: ![](/files/vtJEPFNAg8JIXAZEQ8y3)

[^3]: ![](/files/mPMx7Yewg1Ha82cMwYO6)

[^4]: ![](/files/dweDoyHJVuOy3xbQGfSV)

[^5]: ![](/files/yfbMGz3PbZuGqdXUjPLQ)

[^6]: ![](/files/5ZDYDbylECAhUKl8wzHZ)

[^7]: ![](/files/A1BNMGYlaV1UbggIvxsm)

[^8]: ![](/files/dcmOg9E6eOiVPgU1TAUS)

[^9]: ![](/files/eGo8Gfb4xQiBKohnaDdo)

[^10]: ![](/files/MVqJ8Vo5cpofpMWKoOjB)

[^11]: ![](/files/0tFTylph2QgxU51YYs26)

[^12]: ![](/files/dCRDkNsroPJjVJG1jJec)

[^13]: ![](/files/YFsvUWxgb8uRYvyrlN7i)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manual.boxexchanger.net/obmen/merchant-i-api/vyplaty-binance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
