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

5.2 KiB
Raw Blame History

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