Маркетплейс — це фінансова система, навіть якщо ви “не банк”
Ви приймаєте гроші від покупця і маєте виплатити продавцю з урахуванням комісій, повернень і спорів. Без ledger і статусів підтримка починає “зводити” все вручну.
1) Ledger як джерело правди
- Окремі записи: charge, fee, payout, refund, dispute.
- Ідемпотентність фіноперацій по operationId.
2) Escrow / hold
Гроші утримуються до виконання умов (доставка/підтвердження). Це має бути явно в станах замовлення і в UI.
3) Settlements і виплати
- Періодичні payouts з реєстром і можливістю звірки.
- Reconciliation зі звітами провайдера платежів.
4) Повернення і спори
Статуси, дедлайни, докази, аудит дій. У support має бути сторінка кейсу і повний таймлайн подій.
Підсумок
Фінчастина маркетплейсу стає керованою, коли є ledger, статуси, webhooks з ретраями і регулярна звірка. Тоді масштабування не ламає операції.