> For the complete documentation index, see [llms.txt](https://manual.boxexchanger.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.boxexchanger.net/obmen/merchant-i-api/vyplaty-binance.md).

# Выплаты 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)
