> 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/guide/integracii/merchanty-i-api/strategiya-obrabotki-oshibok-merchantov.md).

# Стратегия обработки ошибок мерчантов

Во время создания заявки система обращается к выбранному мерчанту, чтобы получить реквизиты для оплаты, ссылку на оплату (Checkout) или другие данные, необходимые клиенту.

Иногда мерчант может временно не ответить, вернуть ошибку или не предоставить реквизиты. В таких случаях iEXExchanger использует выбранную стратегию обработки ошибок.

Эта настройка определяет, как система должна действовать при возникновении подобных ситуаций.

## Где находится настройка

Откройте панель управления и перейдите в раздел: **«Настройки» — «Общие настройки» — «Обмен»**

<figure><img src="https://1156649716-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYuqSN6CIJoIeh8EPb0uE%2Fuploads%2Fgit-blob-c9a869398d77ed6371b1f7a4e26a69b3dc4ddc52%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

На странице **«Настройки обмена»** найдите параметр:

**«Стратегия обработки ошибок мерчантов»**

Доступны три варианта:

* Без повторных попыток
* Повторять попытки
* Использовать альтернативный мерчант

После изменения настройки нажмите «Сохранить».

***

## Для чего нужна эта настройка

Даже надёжные мерчанты иногда могут работать нестабильно.

Например:

* временно недоступен API;
* превышено время ожидания ответа;
* произошла техническая ошибка;
* сервис перегружен;
* мерчант временно не может подобрать реквизиты;
* возникла ошибка при создании Checkout-ссылки;
* соединение было разорвано до получения ответа.

Выбранная стратегия определяет, как система должна реагировать на подобные ситуации.

***

## Без повторных попыток

{% stepper %}
{% step %}

### Как работает

Это самый осторожный вариант работы.

Система обращается к мерчанту только один раз.

Если мерчант успешно вернул реквизиты, они сохраняются и отображаются клиенту.

Если произошла ошибка, дополнительных действий система не выполняет.

Повторные запросы и переключение на другой мерчант не выполняются.
{% endstep %}

{% step %}

### Когда использовать

Этот вариант рекомендуется использовать, если:

* мерчант может создавать платёж ещё до отправки ответа;
* повторный запрос может привести к созданию дубля;
* требуется ручная проверка проблемных заявок;
* мерчант некорректно обрабатывает повторные обращения;
* безопасность важнее автоматизации.
  {% endstep %}

{% step %}

### Преимущества

* минимальный риск создания дублей;
* отсутствуют лишние обращения к API мерчанта;
* проще контролировать проблемные заявки;
* безопасный вариант для чувствительных платёжных систем.
  {% endstep %}

{% step %}

### Недостатки

* временные ошибки не исправляются автоматически;
* оператору может потребоваться вмешательство;
* уровень автоматизации ниже.
  {% endstep %}
  {% endstepper %}

***

## Повторять попытки

{% stepper %}
{% step %}

### Как работает

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

Всего выполняется до трёх попыток.

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

Если реквизиты уже были успешно получены ранее, повторный запрос не выполняется.
{% endstep %}

{% step %}

### Когда выполняется повтор

Повторные обращения выполняются только для ошибок, которые считаются временными.

Например:

* отсутствует ответ от API;
* превышено время ожидания;
* временная ошибка провайдера;
* HTTP 408;
* HTTP 429;
* ошибки HTTP 5xx.
  {% endstep %}

{% step %}

### Когда повтор не выполняется

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

Например:

* мерчант сообщил о дубле операции;
* заявка уже существует у провайдера;
* реквизиты отклонены;
* Checkout-ссылка сформирована некорректно;
* ошибка признана окончательной.

Это предотвращает создание повторных платежей и других нежелательных ситуаций.
{% endstep %}

{% step %}

### Когда использовать

Этот вариант рекомендуется, если:

* мерчант обычно работает стабильно;
* иногда возникают кратковременные сбои;
* API корректно поддерживает повторные запросы;
* требуется максимально автоматическая работа системы.
  {% endstep %}

{% step %}

### Преимущества

* повышается вероятность автоматического получения реквизитов;
* уменьшается количество ручной обработки;
* хорошо подходит при временных проблемах API;
* не повторяет потенциально опасные запросы.
  {% endstep %}

{% step %}

### Недостатки

* время ожидания может немного увеличиться;
* создаётся дополнительная нагрузка на API мерчанта;
* требуется поддержка безопасных повторных запросов со стороны мерчанта.
  {% endstep %}
  {% endstepper %}

***

## Использовать альтернативный мерчант

{% stepper %}
{% step %}

### Как работает

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

В первую очередь используются правила мерчантов, настроенные для направления обмена.

Если такие правила отсутствуют, выполняется подбор подходящего мерчанта по валюте.

При повторном выборе ранее использованный мерчант исключается из поиска.
{% endstep %}

{% step %}

### Как выбирается альтернативный мерчант

Новый мерчант должен соответствовать всем условиям направления.

Например:

* быть активным;
* поддерживать нужную валюту;
* соответствовать установленным лимитам;
* удовлетворять правилам направления;
* быть доступным для выдачи реквизитов.

Если подходящего мерчанта найти не удалось, реквизиты автоматически выданы не будут.
{% endstep %}

{% step %}

### Когда использовать

Этот вариант рекомендуется использовать, если:

* подключено несколько мерчантов;
* настроены резервные способы приёма платежей;
* необходимо обеспечить максимальную отказоустойчивость;
* используются правила выбора мерчантов;
* важно автоматически переключаться между провайдерами.
  {% endstep %}

{% step %}

### Преимущества

* автоматическое переключение на резервный мерчант;
* более высокая доступность системы;
* уменьшение количества неудачных заявок;
* повышение стабильности работы обменника.
  {% endstep %}

{% step %}

### Недостатки

* требуется корректная настройка нескольких мерчантов;
* необходимо правильно настроить лимиты и правила выбора;
* неправильно настроенный резервный мерчант также может завершиться ошибкой.
  {% endstep %}
  {% endstepper %}

***

## Связь с правилами мерчантов

Наиболее эффективно стратегия «Использовать альтернативный мерчант» работает вместе с правилами мерчантов.

Именно правила определяют:

* какой мерчант используется первым;
* какой считается резервным;
* при каких условиях выполняется переключение;
* какие лимиты необходимо учитывать.

Если правила не настроены, система использует более простой механизм выбора по валюте.

Для обменников с несколькими мерчантами рекомендуется использовать именно правила мерчантов.

## Связь с лимитами мерчантов

При выборе мерчанта система также учитывает его ограничения.

Например:

* минимальную сумму;
* максимальную сумму;
* дневной объём;
* месячный объём;
* дневной лимит заявок;
* месячный лимит заявок;
* доступность мерчанта;
* настройки направления обмена.

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

## Где искать причины ошибок

Для диагностики откройте раздел: **«Журнал событий» — «Логи заявок» — «Журнал выбора и получения мерчанта»**

<figure><img src="https://1156649716-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYuqSN6CIJoIeh8EPb0uE%2Fuploads%2Fgit-blob-e5785c35883d7d29f1fb508c1141e215aecc5abf%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

В журнале можно посмотреть:

* какой мерчант был выбран;
* какое правило использовалось;
* выполнялись ли повторные попытки;
* была ли попытка переключения на резервный мерчант;
* какую ошибку вернул API;
* на каком этапе произошла проблема;
* почему обработка была остановлена.

Этот журнал является основным инструментом диагностики проблем при получении реквизитов.

## Какой вариант выбрать

{% stepper %}
{% step %}

#### Если используется один мерчант

Для большинства случаев рекомендуется начать с варианта: **«Без повторных попыток»**

Если периодически возникают временные ошибки API, можно перейти на режим:

**«Повторять попытки»**
{% endstep %}

{% step %}

#### Если используется несколько мерчантов

Рекомендуется:

* настроить правила мерчантов;
* проверить лимиты каждого мерчанта;
* использовать стратегию «Использовать альтернативный мерчант».

Это позволит автоматически переключаться между провайдерами без участия оператора.
{% endstep %}

{% step %}

#### Если мерчант не поддерживает повторные запросы

Если повторное обращение может привести к созданию дублирующего платежа, рекомендуется использовать режим: **«Без повторных попыток»**
{% endstep %}
{% endstepper %}

***

## Что проверить после изменения настройки

После изменения стратегии рекомендуется создать тестовую заявку.

Убедитесь, что:

* реквизиты успешно выдаются;
* выбран ожидаемый мерчант;
* журнал выбора мерчанта содержит корректные записи;
* повторные попытки выполняются только при необходимости;
* резервный мерчант используется корректно;
* дубли платежей не создаются;
* лимиты работают правильно.

Особенно важно протестировать режим «Использовать альтернативный мерчант», так как его работа зависит от правильной настройки мерчантов, направлений обмена и правил выбора.

***

## Рекомендации

Для большинства обменников с одним мерчантом рекомендуется использовать режим «Без повторных попыток».

Если API мерчанта периодически становится временно недоступным, можно использовать «Повторять попытки».

Если в системе настроено несколько мерчантов с резервированием, наиболее эффективным вариантом будет «Использовать альтернативный мерчант» вместе с правилами мерчантов.

## Коротко

Настройка «Стратегия обработки ошибок мерчантов» определяет действия системы, если мерчант не смог выдать реквизиты для оплаты.

Можно выбрать один из трёх режимов:

* Без повторных попыток — самый безопасный вариант.
* Повторять попытки — автоматически повторяет запрос при временных ошибках.
* Использовать альтернативный мерчант — переключается на резервного мерчанта при невозможности получить реквизиты через основного.

Выбор подходящей стратегии зависит от особенностей ваших мерчантов, требований к отказоустойчивости и уровня автоматизации обменника.
