> 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/05-snapex.md).

# SnapEx

Подключите SnapEx для приёма криптовалют и выплат с точным выбором актива и сети

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

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

{% hint style="warning" %}
SnapEx не нужен для первого ручного направления. Подключайте его только при наличии рабочего Merchant API key, согласованной финансовой модели и отдельного регламента автоматизации. Сначала завершите ручную контрольную заявку.
{% endhint %}

## Поймите модель SnapEx

| Контур          | Что делает SnapEx                                                         |
| --------------- | ------------------------------------------------------------------------- |
| Приём           | Создаёт адрес для выбранного актива и сети, затем отслеживает поступление |
| Выплата         | Рассчитывает и выполняет перевод в выбранном активе и сети                |
| Баланс и журнал | Возвращает доступные активы, балансы и операции для диагностики           |

Один API-ключ может использоваться провайдером в обоих контурах, но запись мерчанта и запись автовыплаты в iEXExchanger создаются и проверяются отдельно.

## Создайте входящий мерчант

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

{% stepper %}
{% step %}

### Выберите провайдера SnapEx

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

{% step %}

### Сохраните Merchant API key

Откройте созданный мерчант и вкладку **«Соединение»**. Введите ключ формата, выданного кабинетом SnapEx, в скрытое поле **«Merchant API key»**. Не сохраняйте его в комментарии, инструкции или обычном текстовом поле.
{% endstep %}

{% step %}

### Проверьте параметры

На вкладке **«Опции»** выберите **«Asset ID для приёма»** из загруженного списка, если нужен общий вариант по умолчанию. Не вводите идентификатор актива по памяти.
{% endstep %}

{% step %}

### Установите временные границы

Проверьте **«Макс. время регистрации в сети (мин.)»** и **«Макс. время подтверждения (час.)»**. Меняйте стартовые значения только по условиям SnapEx и вашему таймеру заявки.
{% endstep %}

{% step %}

### Дождитесь состояния подключения

В списке мерчантов проверьте Health, время проверки, задержку и отсутствие серии ошибок. Сохранённый ключ без успешного состояния не доказывает доступность API.
{% endstep %}
{% endstepper %}

## Свяжите мерчант с валютой «Отдаю»

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

1. Выберите созданный SnapEx-мерчант.
2. В поле сети выберите точный вариант из списка SnapEx, например вариант USDT в TRON или Ethereum.
3. При необходимости назначьте валидатор реквизита и безопасную реакцию на ошибку.
4. Задайте реальные лимиты объёма, суммы и количества заявок либо оставьте автоматизацию выключенной до их согласования.
5. Сохраните и откройте страницу повторно.

Для SnapEx выбранное значение обозначает одновременно актив и его сеть. Клиентская сеть валют, название платёжной системы и сеть SnapEx — разные слои; сверяйте все три.

Если для направления задано отдельное правило мерчанта, оно может изменить выбор на уровне валюты. Перед включением откройте правила мерчантов направлений и убедитесь, что итоговый провайдер и сеть однозначны.

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

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

{% stepper %}
{% step %}

### Сохраните ключ в «Соединении»

Используйте защищённое поле **«Merchant API key»**. Повторно открытая форма может показывать только признак заполнения, а не значение секрета.
{% endstep %}

{% step %}

### Выберите актив выплаты

На вкладке **«Опции»** выберите **«Asset ID выплаты»** из актуального списка. Сеть будет взята из той же записи провайдера.
{% endstep %}

{% step %}

### Оставьте выплату безопасно заблокированной

Поле **«Семантика суммы выплаты»** по умолчанию блокирует отправку. Разрешайте вариант **«Сумма заявки = списание USDT (подтверждаю)»** только если финансовая модель точно передаёт SnapEx сумму списания в USDT, а не ожидаемую сумму получения клиентом.
{% endstep %}

{% step %}

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

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

{% hint style="danger" %}
Ошибочная семантика суммы способна списать не ту величину USDT. Не снимайте безопасную блокировку только ради прохождения формы. Получите письменное подтверждение финансовой модели, проверьте расчёт предпросмотра и используйте минимальную разрешённую сумму.
{% endhint %}

## Проверьте входящий сценарий

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

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

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

Статус «создано» или «зарезервировано» не равен завершённой выплате. SnapEx требует последующего опроса до конечного результата.

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

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

* Health показывает ошибку или неизвестное состояние;
* актив либо сеть отсутствуют в актуальном списке;
* адрес требует memo/tag, а сценарий его не поддерживает;
* сумма списания и сумма получения трактуются по-разному;
* операция не приходит к финальному состоянию;
* журнал показывает повтор или несогласованный внешний ID.

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

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

* [ ] мерчант и автовыплата созданы как разные записи;
* [ ] API-ключ хранится только в защищённом поле;
* [ ] Health подключения успешен и имеет понятное время проверки;
* [ ] для каждой валюты выбран точный актив вместе с сетью;
* [ ] клиентская сеть, платёжная система и сеть провайдера не перепутаны;
* [ ] правила направления не переопределяют выбор неожиданным образом;
* [ ] семантика суммы выплаты подтверждена до снятия блокировки;
* [ ] входящий платёж проверен новой заявкой;
* [ ] выплата проверена отдельно до автоматического режима;
* [ ] команда знает, как выключить один проблемный контур.

После интеграции проверьте [обновление и откат системы](/learn/9.-sistema-i-rasshireniya/06-system-updates.md) и повторите [сквозную контрольную заявку](/learn/10.-zapusk/01-control-order.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/05-snapex.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.
