Перейти к содержанию
Версия: 4.2.257 Обновлено: 2026-05-13

Ручная проверка защиты вывода

Документ предназначен для QA и операторской проверки на тестовых стендах. Он описывает, как проверять пользовательскую защиту вывода в app и операторский контроль в admin.

Главный принцип: каждый вывод создаёт заявку и проходит операционную обработку Saga. Режим защиты определяет, можно ли создать заявку, на какой адрес и когда она станет доступна оператору.

Что проверяем

Проверка считается полной, если подтверждены четыре области:

Область Что должно работать
Режимы защиты Стандарт, Только подтверждённые адреса, Вывод отключён, отдельная Аварийная блокировка
Изменение настроек Усиление сразу, ослабление через задержку и email, аварийная блокировка только через оператора
Пользовательский сценарий Настройки защиты, подтверждённые адреса, форма вывода, email-отмена заявки
Admin-сценарий Приоритет в списке клиентов, блок Защита вывода в карточке, восстановление заявок, контекст на странице выводов

Быстрый маршрут проверки

Для быстрой регрессии пройдите сценарии в таком порядке:

  1. Стандарт: создать или подготовить заявку на любой валидный адрес.
  2. Только подтверждённые адреса: проверить активный адрес и отказ для неподтверждённого адреса.
  3. Вывод отключён: убедиться, что новые заявки заблокированы, а старые не меняются.
  4. Аварийная блокировка: проверить блокировку новых заявок и перевод ожидающих заявок в заблокированные.
  5. Оператор: снять аварийную блокировку и отдельно восстановить одну заблокированную заявку.

Возможности по режимам

Режим Создание новой заявки Адрес назначения Что происходит с уже созданными заявками
Стандарт Разрешено Любой валидный адрес поддерживаемой сети Не меняются; новая заявка получает задержку до обработки
Только подтверждённые адреса Разрешено Только активный подтверждённый адрес выбранной сети Не меняются; новая заявка получает задержку до обработки
Вывод отключён Заблокировано Не применимо Не меняются только из-за включения режима
Аварийная блокировка Заблокировано Не применимо Ожидающие заявки становятся заблокированными

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

Изменение настроек

Изменение Когда применяется Что проверить
Стандарт → Только подтверждённые адреса Сразу Форма вывода перестаёт принимать произвольный адрес
Стандарт → Вывод отключён Сразу Новые заявки блокируются
Только подтверждённые адреса → Вывод отключён Сразу Новые заявки блокируются, список адресов остаётся доступен
Увеличение задержки Сразу Новые заявки получают большую задержку
Уменьшение задержки После задержки и email-подтверждения На странице видно запланированное ослабление защиты
Только подтверждённые адреса → Стандарт После задержки и email-подтверждения До применения форма остаётся в режиме подтверждённых адресов
Вывод отключён → Только подтверждённые адреса После задержки и email-подтверждения До применения новые заявки остаются заблокированы
Вывод отключён → Стандарт После задержки и email-подтверждения До применения новые заявки остаются заблокированы
Включение аварийной блокировки Немедленно Новые заявки блокируются, ожидающие заявки становятся заблокированными
Снятие аварийной блокировки Только оператором Заблокированные заявки не восстанавливаются автоматически

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

Состояния заявки

Состояние заявки Значение Доступность оператору
Ждёт задержку Заявка создана и пользователь получил email для отмены Недоступна для обработки
Готова к обработке Защитная задержка прошла Доступна для обычной операционной обработки
Отменена Пользователь отменил заявку по email Недоступна
Заблокирована Заявка заблокирована аварийной защитой или оператором Недоступна до отдельного восстановления

Действие Восстановить заявку не одобряет вывод. Оно только возвращает заблокированную заявку к обычной операторской обработке.

Подготовка

  • Тестовый пользователь в https://app.saga.surf или stage-окружении.
  • Тестовый администратор в https://admin.saga.surf или stage-окружении с доступом к клиентам и операциям вывода.
  • Баланс пользователя для минимальной тестовой заявки.
  • Тестовый адрес в поддерживаемой сети.
  • Доступ к email тестового пользователя.
  • Согласование, можно ли создавать заявку или нужно остановиться перед финальным подтверждением.

Границы безопасности:

  • Не проверяйте сценарии на production-аккаунтах без отдельного разрешения.
  • Не одобряйте и не исполняйте фактический вывод в рамках этой проверки.
  • Для действий администратора используйте только тестового клиента и фиксируйте причину изменения.

App: Стандарт

Форма вывода в стандартном режиме

Визуально проверьте: ручной ввод адреса доступен, режим обозначен как Стандарт, текст говорит о заявке и задержке до операционной обработки Saga.

  1. Войдите в пользовательское приложение.
  2. Откройте форму вывода.
  3. Проверьте, что адрес можно ввести вручную.
  4. Введите валидный тестовый адрес и согласованную сумму.
  5. Создайте заявку или остановитесь перед финальным подтверждением.

Ожидаемый результат:

  • Подтверждённый адрес не обязателен.
  • Пользователь видит, что создаётся заявка на вывод.
  • Текст объясняет задержку до операционной обработки Saga.
  • Интерфейс не обещает исполнение без оператора и не зависит от суммы как от отдельного пути обработки.

App: Подтверждённый адрес

Список подтверждённых адресов

Визуально проверьте: адреса разделены по статусам, адрес с ожидающим email-подтверждением не выглядит активным адресом для вывода, активный адрес явно готов к использованию после своей задержки.

  1. Откройте ПрофильЗащита вывода.
  2. В блоке подтверждённых адресов выберите сеть.
  3. Введите тестовый адрес и понятное название.
  4. Сохраните адрес.
  5. Откройте письмо и перейдите по ссылке подтверждения.
  6. Вернитесь на страницу защиты вывода.

Ожидаемый результат:

  • До подтверждения адрес отображается как ожидающий email.
  • После подтверждения открывается понятная страница результата.
  • Адрес становится пригодным для вывода только после своей задержки активации.
  • Повторное открытие той же ссылки показывает недействительное или уже использованное состояние.

Успешное подтверждение адреса

Недействительная ссылка подтверждения адреса

App: Только подтверждённые адреса

Форма вывода в режиме подтверждённых адресов

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

  1. Убедитесь, что у пользователя есть активный подтверждённый адрес.
  2. На странице Защита вывода выберите режим Только подтверждённые адреса.
  3. Сохраните настройки.
  4. Откройте форму вывода.
  5. Попробуйте создать заявку на активный адрес.
  6. Проверьте, что неподтверждённый или ожидающий подтверждения адрес недоступен для выбора.

Ожидаемый результат:

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

App: Вывод отключён

Форма вывода при отключённом выводе

Визуально проверьте: создание новой заявки заблокировано, причина блокировки видна до попытки отправки, ранее созданные заявки не представлены как отменённые этим режимом.

  1. На странице Защита вывода выберите режим Вывод отключён.
  2. Откройте форму вывода.
  3. Попробуйте создать новую заявку.
  4. Проверьте ранее созданные заявки в истории.

Ожидаемый результат:

  • Новая заявка не создаётся.
  • Пользователь видит понятное объяснение блокировки.
  • Ранее созданные заявки не исчезают и не меняют статус только из-за включения режима.
  • Возврат к менее строгому режиму планируется на будущее, а не применяется сразу.

App: Запланированное ослабление

Настройки режима и задержки

Запланированное ослабление защиты

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

Если задержка применения длинная, проверка считается достаточной после фиксации видимого времени применения и email-подтверждения. Дожидаться фактического применения нужно только в полной регрессии или перед релизом этой логики.

  1. Включите более строгий режим или увеличьте задержку.
  2. Проверьте, что усиление применяется сразу.
  3. Затем попробуйте ослабить режим или уменьшить задержку.
  4. Проверьте страницу Защита вывода.
  5. Откройте email, связанный с изменением, и подтвердите действие.

Ожидаемый результат:

  • Усиление применяется сразу.
  • Ослабление отображается как запланированное действие.
  • До email-подтверждения ослабление не применяется.
  • Видно целевой режим, целевая задержка и время применения.
  • Пользователь может отменить запланированное ослабление.
  • Новый запрос на ослабление до завершения текущего не принимается.

App: Аварийная блокировка

Аварийная блокировка пользователя

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

  1. Откройте ПрофильЗащита вывода.
  2. Найдите отдельный блок аварийной блокировки.
  3. Включите блокировку только на тестовом аккаунте.
  4. Откройте форму вывода.
  5. Проверьте ожидающие заявки в истории.

Ожидаемый результат:

  • Новые заявки заблокированы.
  • Ожидающие заявки переведены в заблокированные.
  • Запланированное ослабление очищено.
  • Пользователь не видит самостоятельного действия для снятия аварийной блокировки.
  • Интерфейс направляет к поддержке и не обещает автоматического восстановления заявок.

App: Отмена заявки по email

Подтверждение отмены заявки

Результат отмены заявки

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

  1. Создайте заявку, которая ждёт задержку.
  2. Откройте письмо по этой заявке.
  3. Перейдите по ссылке отмены.
  4. Не подтверждайте действие на первом экране.
  5. Вернитесь в приложение и проверьте, что заявка ещё не отменена.
  6. Снова откройте страницу отмены и нажмите явную кнопку отмены.

Ожидаемый результат:

  • Простое открытие ссылки не отменяет заявку.
  • Сначала открывается страница подтверждения действия.
  • После явного подтверждения заявка становится отменённой.
  • Повторное использование ссылки показывает недействительное или уже использованное состояние.
  • После отмены интерфейс предлагает включить аварийную блокировку при подозрении на компрометацию.

Оператор: Список клиентов

Приоритет защиты вывода в списке клиентов

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

  1. Откройте /admin/users на нужном стенде.
  2. Найдите тестового пользователя.
  3. Проверьте бейдж защиты вывода рядом с клиентом.
  4. Проверьте пользователей с аварийной блокировкой, заблокированными заявками или запланированным ослаблением защиты.

Ожидаемый результат:

  • Видны статусы Стандарт, Только подтверждённые адреса, Вывод отключён, Аварийная блокировка.
  • Пользователи с требующими внимания состояниями подняты выше глобально, а не только внутри текущей страницы.
  • У пользователя видны краткие сигналы: заблокированные заявки, запланированное ослабление защиты, подтверждённые адреса, последнее событие.
  • В списке нет кнопок управления режимами защиты.

Оператор: Карточка клиента

Блок защиты вывода в карточке клиента

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

  1. Откройте карточку пользователя из списка клиентов.
  2. Найдите блок Защита вывода над историей операций.
  3. Проверьте текущий режим, задержку, количество подтверждённых адресов и открытые заявки.
  4. Если есть запланированное ослабление, проверьте целевой режим, задержку и время применения.
  5. Если активна аварийная блокировка, проверьте дату, автора и причину.

Ожидаемый результат:

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

Оператор: Снятие аварийной блокировки

Форма снятия аварийной блокировки

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

  1. Откройте карточку пользователя с активной аварийной блокировкой.
  2. Нажмите Снять аварийную блокировку.
  3. Укажите целевой режим, причину и номер обращения или подтверждения.
  4. Подтвердите действие.

Ожидаемый результат:

  • Аварийная блокировка снята.
  • Режим становится выбранным целевым режимом.
  • Запланированное ослабление очищено.
  • Заблокированные заявки не восстанавливаются сами.
  • Клиент получает уведомление, если такой канал настроен на стенде.

Оператор: Восстановление заблокированной заявки

Восстановление заблокированной заявки

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

  1. Откройте карточку пользователя с заблокированной заявкой.
  2. В блоке Защита вывода нажмите Восстановить заявку.
  3. Перейдите во вкладку выводов или на страницу Выводы.

Ожидаемый результат:

  • Заявка возвращается к обычной операторской обработке.
  • Сам вывод не одобряется этим действием.
  • Для дальнейшей обработки оператор использует обычный процесс операций вывода.

Оператор: Страница выводов

Контекст защиты на странице выводов

Визуально проверьте: /admin/withdrawals показывает защитную метку заявки и ссылку на карточку клиента, но не содержит управления режимом защиты.

  1. Откройте /admin/withdrawals на нужном стенде.
  2. Найдите заявку с защитной меткой.
  3. Проверьте контекст в колонке статуса.
  4. Откройте ссылку Открыть безопасность клиента.

Ожидаемый результат:

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

Ошибки

Проверьте эти случаи отдельно:

  • Неверный формат адреса: заявка не создаётся, показана ошибка формата.
  • Адрес не подтверждён для режима подтверждённых адресов: заявка не создаётся, показано требование активного адреса.
  • Повторная email-ссылка: показано недействительное или уже использованное состояние.
  • Истёкшая email-ссылка: показано, что ссылка устарела.
  • Нет доступа у администратора: кнопки восстановления заблокированы или показана ошибка доступа.
  • Сетевая ошибка: действие не считается выполненным, ошибка видна пользователю.

Успешная проверка

Проверка успешна, если:

  • В app работают три пользовательских режима и отдельная аварийная блокировка.
  • В app нет текстов, обещающих исполнение без операционной обработки Saga.
  • Адрес можно добавить, подтвердить по email и использовать после активации.
  • Режим подтверждённых адресов блокирует неподтверждённые адреса.
  • Режим отключённого вывода блокирует новые заявки и не меняет существующие заявки.
  • Email-ссылка отмены требует явного подтверждения.
  • Истёкшие и повторные email-ссылки показывают понятное недействительное состояние.
  • Администратор без нужного доступа не может выполнить восстановление или видит явную ошибку доступа.
  • При сетевой ошибке действие не считается выполненным и ошибка видна пользователю.
  • В admin/users видны компактные индикаторы риска.
  • В карточке клиента видны режим, запланированное ослабление, аварийная блокировка, подтверждённые адреса и заблокированные заявки.
  • Восстановление заблокированной заявки не одобряет вывод.
  • /admin/withdrawals остаётся страницей операций и не управляет защитой пользователя.

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