Как связать донацию с платёжным шлюзом? Как обеспечить идемпотентность?

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

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

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

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

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

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

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

Подтверждайте платёж проверенным webhook или запросом статуса, а не браузерным redirect. Уникальность события и условный переход pending → paid предотвращают повторное зачисление. Внешний вызов не удерживает долгую DB-транзакцию; при неизвестном результате нужна сверка, а не создание новой независимой оплаты.

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

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

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

Подробнее