Кошелек Шреддингера: Что происходит с деньгами внутри 🐈⬛
Реальность такова: мир держится на соплях и честном слове. Вы заказываете девайс у @BestGamerfraud и надеетесь, что в коробке не кирпич. Это не бизнес-модель, это лотерея. Давайте разберем, как превратить «честное слово» в алгоритм. Под капотом Safe Deal (Безопасной сделки) - не просто кнопка, а настоящий инженерный триллер.
⚙️ Механика «Шреддингеровского кошелька»
С точки зрения бэкенда, это жесткая State Machine. Мы строим мост между двумя берегами, которые друг друга недолюбливают.
Как это работает в проде:
Hold (Заморозка): Когда юзер жмет «Оплатить», мы не списываем деньги сразу. Банковский эквайринг инициирует преавторизацию. Деньги блокируются, но всё еще принадлежат покупателю.
Pro-tip: Это дешевле. Если сделка сорвется, мы делаем void (отмену), а не refund(возврат), экономя на комиссиях и времени.
Event-Driven магия: Система подписывается на логистические API. Как только курьер пикает статус DELIVERED, наш бэкенд ловит вебхук. Это триггер для перехода транзакции в финальную фазу.
Capture (Списание): Только в этот наносекундный момент происходит реальный расчёт и перевод средств продавцу.
🛠 Почему это элегантно для инженера?
🔹 Идемпотентность: Если у клиента моргнул интернет в лифте и он нажал «Оплатить» 5 раз - мы не спишем деньги 5 раз. Уникальный Idempotency-Key в заголовке запроса гарантирует: транзакция будет ровно одна.
🔹 Токенизация: Мы не видим данные карт (привет, PCI DSS). Мы работаем с токенами. Это изолирует финансовые риски и защищает данные юзеров даже в случае утечки на стороне мерчанта.
🔹 TTL и Авто-рефанд: В логику вшиты таймеры. Не подтвердил отправку за N часов? Срабатывает автоматический откат сделки. Система саморегулируема.
🚩 Сложности (Edge Cases)
Что если покупатель забрал товар, но подменил его? Здесь вступает флаг арбитража. При открытии спора стейт-машина блокирует переход к Capture. Сделка «зависает» в защищенном состоянии до вмешательства модератора или AI-анализа логов.
Итог: Safe Deal - это история о том, как превратить недоверие в математическую константу. В 2026-м «быть хорошим парнем» в вебе недостаточно. Нужно иметь изолированные токены, отлаженные вебхуки и стейт-машину, которая не дает сбоев. Нужно не просто писать фичи, а разрабатывать среду, где кинуть кого-то технически дороже, чем играть по правилам.
· 20.03
Алёша Попович норм чувак!
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён