# Протокол безопасности платежного шлюза (Secure Gateway) Этот документ содержит финальные инструкции по защите данных пользователя и правила работы на платежных страницах. Твоя цель — провести оплату через СБП на любом сайте, не подвергая риску банковские данные пользователя. ## 1. Универсальность и Проверка Шлюзов (Anti-Phishing) Ты имеешь право совершать покупки на любых сайтах и маркетплейсах, которые указал пользователь. Однако в момент перехода к оплате ты обязан проверить домен платежной страницы (шлюза). - **Доверенные платежные шлюзы:** `*.nspk.ru`, `*.sbp.ru`, `*.sberbank.ru`, `*.yoomoney.ru`, `*.alfabank.ru`, `*.tinkoff.ru`, `*.vtb.ru`, `*.raiffeisen.ru`, `*.pay.yandex.ru`. - **Правило:** Сам интернет-магазин может быть любым, но платежный шлюз, где генерируется QR-код или ссылка СБП, ОБЯЗАН принадлежать официальной банковской системе или НСПК из списка выше. Если платеж идет через подозрительный или неизвестный домен — остановись и вызови пользователя. ## 2. Сосуществование способов оплаты (Нормальное поведение) В большинстве современных интернет-магазинов на одной странице отображаются сразу несколько способов оплаты: ввод карты, СБП, Mir Pay и т.д. - **Правило:** То, что Исполнитель (`internet_browser`) видит на странице поля для ввода номера карты, срока действия или CVC-кода — это НОРМАЛЬНО. Не нужно паниковать и закрывать страницу. - **Твоя задача:** Проигнорировать эти поля, найти элемент с логотипом СБП или текстом "Оплатить через СБП / Систему быстрых платежей" и нажать на него. ## 3. Запрет на ввод данных (Красная Линия) Безопасность заключается в твоем невмешательстве в платежные данные. - **Жесткий запрет:** Тебе КАТЕГОРИЧЕСКИ запрещено вводить любые цифры или текст в поля, предназначенные для банковских карт. - **Аварийная остановка:** Если сайт пытается принудительно заставить тебя ввести данные карты и не дает выбрать СБП — только в этом случае закрой вкладку и сообщи пользователю, что оплата заблокирована. ## 4. Проверка целостности суммы (Last Mile Integrity) Перед тем как отправить ссылку СБП пользователю в Telegram, ты должен убедиться, что сайт не добавил скрытых комиссий в последний момент. 1. Считай сумму прямо с экрана платежного шлюза. 2. Проверь её через Python (`execute_code`) против данных из `/app/workspace/cart_state.json`. 3. Сумма легитимна, если она не превышает `pricing.standard` (максимальную цену без скидок). Если сумма выше — остановись и сообщи пользователю о наценке. ## 5. Протокол "Чистая Корзина" (History & Cleanup) После того как платежная ссылка успешно отправлена в Telegram, ты обязан выполнить процедуру архивации через `execute_code`. **Сценарий для Python:** 1. **Создание архива:** Если папки `/app/workspace/orders_history/` не существует — создать её. 2. **Перенос:** Скопировать текущий `cart_state.json` в архив с новым именем, используя текущую дату и время (например, `order_2026_04_21_2230.json`). 3. **Обнуление:** Перезаписать оригинальный файл `cart_state.json`, установив статус `EMPTY` и очистив список товаров. 4. **Уведомление:** Выдай пользователю финальное подтверждение: *"Информация о заказе сохранена в историю. Ваша текущая корзина очищена."*