Какой принцип безопасности при создании ссылки на оплату?

Ссылка скопирована
1 ответ

Делаю интернет-магазин. Next.js + random backend headless. Все данные о товарах, корзине и тд получаю из апишки.

На этапе чеккаунта у меня форма с данными юзера + total price и товары которые я получил из api, но в момент отпарвки формы данные же могут быть подменяны?И например товаров нв 100к поменять прайс на 1 рубль и оплатить все за 1 рубль.

Как мне получать total с апишки и отправлять эти данные с клиента без возможности подмены?
Я могу проверять что-то на сервере, но что именно?Получается цену мне передавать не надо, а только список продуктов и уже на сервере считать total price, после этого генерировать ссылку на оплату?

Дополнительно:

Обычно платежная система имеет такой параметр как callback url. Куда платежная система сообщает лично на сервер что оплата прошла с какой суммой и возможностью проверить идет ли этот вызов от платежной системы.

Получается цену мне передавать не надо, а только список продуктов

Именно. С фронта должны приходить id товаров и количество. Окончательный расчёт цены выполняет бэк. Он же формирует чек и отсылает его в платёжную систему, перебрасывая клиента на переданную страницу оплаты. И в бэк же возвращается callback от платёжной системы с подтверждением транзакции.

Ответы:

Я могу проверять что-то на сервере, но что именно?

это давно поборено у платежных систем, подписывай передаваемые данные, тогда изменение любого параметра, приведет к несовпадению подписей
А так ссылку на оплату должен сделать сервер, а не клиент.

  • он ее и делаеТ, но чтобы он ее сделал мне надо передать туда сумму
  • godsplane, какую сумму? корзина на сервере, он должен сам вычислить сумму.

товаров нв 100к поменять прайс на 1 рубль

ну вы еще оплату на джаваскрипте пропишите по типу let paid = true/falseи тогда точно красота будет.

Получается цену мне передавать не надо, а только список продуктов и уже на сервере считать total price, после этого генерировать ссылку на оплату?

ближе к правде. Передаете ИД товара, кол-во (если у вас его можно задавать), на сервере валидируете, применяете арифметику, и обратно клиенту отдаем корректную цену, а не которую он в исходном коде указал

Нужно решить такую задачу?

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

Заказать помощь
Лучший ответ
1
Ольга Сеть Ответ

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

1. Используй HTTPS: Убедитесь, что ваш сайт использует защищенное соединение HTTPS. Это обеспечит шифрование данных между пользователем и сервером, что защитит информацию о платежах от перехвата злоумышленниками.

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

3. Ограничь доступ к данным: Не передавайте конфиденциальные данные, такие как номера кредитных карт, в URL ссылки. Используйте защищенные методы передачи данных, такие как POST запросы, чтобы передавать информацию о платеже.

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

5. Храните данные безопасно: Если вам необходимо хранить данные о платежах, убедитесь, что они хранятся в зашифрованном виде и доступ к ним имеют только авторизованные сотрудники.

Применение этих принципов безопасности поможет обеспечить безопасность процесса оплаты и защитить ваших пользователей от потенциальных угроз.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно