Как спроектировать payment system?

Senior
446 просмотров
AFK Offer AI

Платёжная система — это про надёжность и идемпотентность. Каждый платёж имеет уникальный idempotency key, чтобы повторный запрос не списал деньги дважды. Процесс: создаём payment record со статусом pending, отправляем в payment gateway, получаем результат, обновляем статус. Все переходы состояний логируем. Double-entry bookkeeping: каждая операция — дебет одного счёта и кредит другого. Для асинхронных платежей — webhook от провайдера + поллинг как fallback. Reconciliation job сверяет наши записи с провайдером.

Следующий вопрос

Задача: реализуйте бинарный поиск