К содержимому

Безопасность виджета

Енот разглядывает чек через лупу

Виджет удобен тем, что живёт целиком в браузере покупателя. Из этого следует и его главное ограничение — всё, что попало в браузер, покупатель может изменить. Ниже честно о том, где проходит граница и что с этим делать.

Сумма и состав заказа не подписаны — сверяйте их при поступлении оплаты

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

Что делать, если сумма важна

Создавайте заказ на своей стороне — тогда цену определяет ваш сервер, а не форма в браузере:

  • Создание заказа через API — состав и сумма приходят с вашего сервера, покупатель их не видит и не меняет.
  • Готовый модуль CMS — то же самое, но настройкой в админке: модуль сам создаёт заказ из корзины магазина.
  • Запрос о платеже — счёт формируете вы, покупатель только подтверждает оплату в приложении банка.

Проверяйте оплату у себя

Независимо от способа приёма платежа не считайте заказ оплаченным по возврату покупателя на страницу «спасибо»: этот адрес открывается в браузере и ничего не доказывает. Дождитесь уведомления о смене статуса и сверьте сумму с ожидаемой — это единственный надёжный сигнал.

Что виджет делает правильно

  • Данные карты в виджет не попадают: он показывает форму заказа, а оплата проходит на платёжной странице шлюза.
  • Форма живёт в отдельном фрейме, изолированном от вашей страницы: скрипты сайта не видят введённого покупателем, и наоборот.
  • Идентификатор магазина в коде — публичный параметр, его не нужно прятать: он не даёт доступа ни к деньгам, ни к личному кабинету.

Коротко

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