Вступить в клуб →
сложнаявопросREST API и интеграции

Заказ помечается оплаченным по содержимому колбэка

Обработчик колбэка платёжного шлюза устроен так: из тела запроса берутся order_id, amount, status, и при status = success заказ переводится в «оплачен» и уходит на сборку. Ручка доступна из интернета без авторизации, потому что шлюз не умеет присылать ваш токен.

Чего здесь не хватает?

  • Достаточно принимать колбэк только по HTTPS: TLS подтверждает подлинность отправителя и целостность тела, поэтому данным можно доверять
  • Нужно проверить подпись запроса ключом шлюза и сверить сумму и валюту с заказом на своей стороне либо перезапросить статус платежа у шлюза
  • Достаточно проверять IP-адрес отправителя по списку из документации шлюза: подпись при этом избыточна и только усложняет обработчик
  • Достаточно убедиться, что order_id соответствует существующему заказу: угадать идентификатор постороннему практически невозможно

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела