Кейс: sequence оплаты через эквайринг
Вопрос
Опиши словами диаграмму последовательностей оплаты заказа в интернет-магазине через внешнего платёжного провайдера с переходом на его страницу оплаты.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Участники: покупатель, фронт, бэкенд магазина, платёжный провайдер
Создание платежа с ключом идемпотентности, редирект на страницу провайдера
Подтверждение через вебхук, проверка подписи, обновление статуса заказа
Возврат покупателя на сайт и показ статуса (опрос или ожидание)
Альтернативы: отказ, таймаут, повторный вебхук, вебхук не пришёл (сверка)
Что могут спросить следом
- Почему нельзя считать оплату успешной по возврату покупателя на сайт?
- Что делать, если вебхук не пришёл?
Разбор
Покупатель жмёт «Оплатить», фронт вызывает бэкенд, бэкенд создаёт платёж у провайдера с ключом идемпотентности и получает ссылку подтверждения. Покупатель уходит на страницу провайдера и вводит карту. Провайдер асинхронно отправляет вебхук на бэкенд, бэкенд проверяет подлинность, идемпотентно меняет статус заказа на «Оплачен» и отвечает 200. Параллельно покупатель возвращается на сайт, фронт показывает «проверяем оплату» и опрашивает статус. Через alt: отказ банка, покупатель закрыл страницу, повторный вебхук ничего не меняет. Если вебхук не пришёл, фоновая сверка запрашивает статус платежа у провайдера. Возврат на сайт сам по себе не доказывает оплату, источник истины это провайдер.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.