Что должно происходить, если скидка была зарезервирована, но покупатель не смог или отказался оплатить покупку, например из-за ошибки связи с банком или недостатка средств на карте?

Резерв скидки должен иметь срок и состояния. При подтверждённом отказе или истечении резерва его освобождают; при неопределённом результате оплаты сначала уточняют статус у платёжной системы.

Короткий ответ

Что ответить на собеседовании

Резерв скидки должен иметь срок и состояния. При подтверждённом отказе или истечении резерва его освобождают; при неопределённом результате оплаты сначала уточняют статус у платёжной системы.

Подробный разбор

Ответ с пояснениями

Резерв скидки должен иметь срок и состояния. При подтверждённом отказе или истечении резерва его освобождают; при неопределённом результате оплаты сначала уточняют статус у платёжной системы.

Ошибка связи с банком не означает, что оплаты не было. Нужны состояния reserved, consumed, released и идемпотентные переходы, связанные с заказом. Webhook и периодическая сверка должны согласованно обработать поздний успех, отмену и истечение срока. Правило поздней оплаты после освобождения резерва определяют заранее, чтобы не выдать одну ограниченную скидку двум покупкам. Пользователю показывают понятный статус, а не предлагают немедленно повторить платёж при неизвестном исходе.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее