Кошелек Шреддингера: Что происходит с деньгами внутри 🐈‍⬛

Реальность такова: мир держится на соплях и честном слове. Вы заказываете девайс у @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-м «быть хорошим парнем» в вебе недостаточно. Нужно иметь изолированные токены, отлаженные вебхуки и стейт-машину, которая не дает сбоев. Нужно не просто писать фичи, а разрабатывать среду, где кинуть кого-то технически дороже, чем играть по правилам.

Кошелек Шреддингера: Что происходит с деньгами внутри 🐈‍⬛ | Сетка — социальная сеть от hh.ru Кошелек Шреддингера: Что происходит с деньгами внутри 🐈‍⬛ | Сетка — социальная сеть от hh.ru