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