This repository has been archived on 2026-04-28. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
safe-paymaster/references/secure_gateway.md

33 lines
No EOL
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Протокол безопасности платежного шлюза (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. **Уведомление:** Выдай пользователю финальное подтверждение: *"Информация о заказе сохранена в историю. Ваша текущая корзина очищена."*