> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/learn/9.-sistema-i-rasshireniya/08-iexwallet.md).

# iEXWallet

Подключите iEXWallet для приёма и выплат, свяжите точные сети и проверьте подписи и повторные операции

## Что вы получите

iEXWallet подключён как отдельный мерчант для входящих платежей и, при необходимости, как отдельная автовыплата. Для каждой валюты выбраны точные актив и сеть, callback подписывается отдельным секретом, а неопределённый ответ не приводит к повторной финансовой операции.

{% hint style="warning" %}
iEXWallet не обязателен для ручного запуска обменника. Подключайте автоматизацию после ручной контрольной заявки, с рабочим публичным HTTPS-доменом кошелька, минимальной суммой и утверждённым регламентом остановки.
{% endhint %}

## Поймите границы интеграции

| Возможность        | Поддерживается                                             |
| ------------------ | ---------------------------------------------------------- |
| Приём криптовалюты | Создание и проверка депозита, адрес и memo при наличии     |
| Выплата            | Создание и проверка выплаты                                |
| Каталоги           | Активы, сети и доступные балансы                           |
| Контроль           | Расчёт сетевой комиссии, списки депозитов и выплат         |
| Webhook            | Проверка и повторная отправка события со стороны iEXWallet |

Подключение iEXWallet не включает AML-проверку, выставление счетов и конвертацию активов. Эти задачи требуют отдельных сервисов и правил.

## Подготовьте данные в iEXWallet

До открытия формы получите:

* публичный базовый HTTPS-адрес вашего iEXWallet;
* `apiId` и `apiKey` текущего публичного API;
* API secret для HMAC-подписи запросов;
* отдельный Callback secret для подписи исходящих webhook;
* список активов и сетей, которые действительно разрешены кошельком;
* контрольные адреса и минимальные суммы для проверки.

Не храните секреты в задаче, переписке, названии мерчанта или документации. Доступ к скрытым полям соединения выдаётся отдельными правами и открывается временным кодом защищённой области.

## Создайте мерчант для приёма

Откройте **«Мерчанты и API» — «Список мерчантов»**, нажмите добавление и выберите **iEXWallet**.

{% stepper %}
{% step %}

### Назовите и оставьте выключенным

Укажите понятное внутреннее название, например **«iEXWallet — приём»**. Не включайте запись до проверки соединения и привязки сети.
{% endstep %}

{% step %}

### Заполните «Соединение»

Укажите **API domain** как публичный базовый HTTPS-адрес без локального имени и закрытого IP. В **API ID** внесите `apiId`. В текущем API он совпадает с `apiKey`: поле **API Key** можно оставить пустым для наследования API ID либо заполнить тем же значением.
{% endstep %}

{% step %}

### Сохраните секреты

В **API secret** внесите секрет HMAC. В **Callback secret** укажите отдельный секрет исходящих webhook из настроек iEXWallet. Если старое подключение не имеет отдельного callback-секрета, система совместимо использует API secret, но для нового подключения разделяйте эти значения.
{% endstep %}

{% step %}

### Зарегистрируйте callback

Скопируйте точный callback URL созданного мерчанта из панели и укажите его в iEXWallet. Не собирайте адрес вручную и не убирайте защитную часть URL. Проверьте **«Тест webhook»**, а затем фактическое событие депозита.
{% endstep %}

{% step %}

### Проверьте соединение

Получите актуальные активы, сети и балансы. Ошибка TLS, подписи, времени или публичности домена должна быть устранена до включения мерчанта.
{% endstep %}
{% endstepper %}

{% hint style="danger" %}
Не используйте HTTP, `localhost`, локальный домен или частный IP для API domain. Не передавайте API secret в URL и не делайте Callback secret одинаковым с API secret только ради упрощения.
{% endhint %}

## Свяжите приём с валютой

Откройте **«Основное» — «Валюты» — «Список валют»**, выберите валюту и перейдите в **«Автоматизация» — «Мерчанты»**.

1. Выберите **«iEXWallet — приём»**.
2. Выберите точный актив и короткий код сети из загруженного каталога.
3. Сверьте сеть валюты, платёжную систему и сеть iEXWallet — это три отдельных настройки.
4. Укажите реальные лимиты суммы и количества операций.
5. Проверьте правила мерчантов направления: они могут переопределить выбор валюты.
6. Сохраните, повторно откройте форму и убедитесь, что связь не изменилась.

Для актива с memo/tag проверьте, что значение показывается клиенту, передаётся в iEXWallet и сохраняется в заявке. Не используйте сеть без поддержки обязательного memo.

## Создайте автовыплату отдельно

Откройте **«Мерчанты и API» — «Список автовыплат»** и создайте отдельную выключенную запись iEXWallet.

{% stepper %}
{% step %}

### Заполните соединение

Укажите тот же тип публичного **API domain**, API ID, необязательный API Key и **API secret**. Callback secret для записи автовыплаты не требуется.
{% endstep %}

{% step %}

### Свяжите валюту «Получаю»

В валюте откройте **«Автоматизация» — «Выплаты»**, выберите созданную запись и точную сеть из каталога iEXWallet.
{% endstep %}

{% step %}

### Ограничьте первый контур

Разрешите минимальную проверочную сумму и только одно направление. Массовую автоматическую выплату оставьте выключенной до завершения отдельной операции.
{% endstep %}
{% endstepper %}

## Проверьте приём

1. Включите мерчант только для одного направления.
2. Создайте новую заявку с минимальной разрешённой суммой.
3. Сверьте актив, сеть, адрес, memo, сумму и срок оплаты.
4. Выполните принадлежащий проекту контрольный перевод.
5. Проверьте API-лог, внешний ID и поступление callback.
6. Убедитесь, что повторный webhook не создаёт второй депозит и не меняет другую заявку.
7. Дождитесь итогового статуса, а не только регистрации операции.

## Проверьте выплату

1. Сверьте доступный баланс и ожидаемую сетевую комиссию.
2. Используйте принадлежащий проекту адрес точной сети.
3. До подтверждения сравните сумму заявки, сумму отправки и комиссию.
4. Создайте одну выплату и сохраните внешний ID.
5. Дождитесь конечного состояния через проверку операции.
6. Сверьте API-лог, адрес, memo, сеть, сумму и итоговый статус заявки.

Статус создания выплаты не доказывает перевод средств. При сетевой ошибке сначала найдите операцию по внешнему ID в iEXWallet. Не отправляйте её повторно, пока результат неизвестен.

## Проверьте защиту повторов и подпись

iEXWallet подписывает точное тело запроса и использует время запроса. Изменение тела после вычисления подписи, неверные часы сервера или перепутанный секрет приводят к отказу авторизации.

Для действий, меняющих деньги, система использует ключ повторяемости. Безопасная проверка означает:

* повторный callback с тем же событием не создаёт второй результат;
* повторное открытие страницы не запускает выплату;
* после тайм-аута оператор сначала ищет уже созданную операцию;
* **«Переотправка webhook»** повторяет доставку существующего события, а не сам перевод;
* новый финансовый запрос выполняется только после подтверждения отсутствия прежнего.

## Остановитесь при расхождении

Выключите только затронутый мерчант или автовыплату, если:

* API domain, TLS или подпись не проходят проверку;
* нужный актив либо сеть отсутствуют в актуальном каталоге;
* часы сервера расходятся и подпись отклоняется;
* callback не подтверждается или приходит с неверным секретом;
* адрес, memo, сумма либо комиссия отличаются от заявки;
* результат операции остаётся неизвестным;
* журнал показывает повтор с другим внешним ID.

## Этап завершён, если

* [ ] мерчант приёма и автовыплата созданы раздельно;
* [ ] API domain является публичным HTTPS-адресом;
* [ ] API ID, необязательный API Key, API secret и Callback secret не перепутаны;
* [ ] секреты доступны только утверждённым ролям через защищённую область;
* [ ] callback URL скопирован из панели и проверен реальным событием;
* [ ] для каждой валюты выбран точный актив и код сети;
* [ ] правила направления не переопределяют связь неожиданно;
* [ ] приём подтверждён новой заявкой;
* [ ] выплата проверена отдельно минимальной суммой;
* [ ] повтор webhook и неопределённый ответ не создают вторую денежную операцию;
* [ ] команда умеет отключить приём и выплату независимо.

После интеграции повторите [сквозную контрольную заявку](/learn/10.-zapusk/01-control-order.md) и проверьте [диагностику системы](/learn/10.-zapusk/14-system-diagnostics.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.iexexchanger.com/learn/9.-sistema-i-rasshireniya/08-iexwallet.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
