포인트(선충전)와 에스크로(거래보호) 둘 다 지원하면 플랫폼이 유연해지고 사용자 신뢰를 동시에 얻을 수 있어요.

아래는 실제로 구현 가능한 DB 설계(핵심 테이블 + 컬럼 + 동작 흐름) 과 운영·안전주의 사항을 정리한 가이드입니다. 바로 개발에 옮길 수 있게 SQL 예시(핵심 테이블)도 포함했습니다.


설계 요지 (요약)

  1. Wallet(포인트): 사용자가 충전·보유·사용하는 플랫폼 내부 잔액(포인트) 관리
  2. Escrow(에스크로): 주문별로 보관되는 임치금(구매자→플랫폼 보관 → 검수 후 판매자 정산)
  3. Payments : 외부 PG/Stripe/Paypal 결제 이벤트를 기록
  4. Transactions / Ledger: 회계적 무결성을 위한 트랜잭션 로그(모든 머니 이동은 여기에 기록)
  5. Payouts / Settlements: 판매자(생산자)에게 실제 송금하는 출금 요청/처리 테이블
  6. 동시성/무결성: 잔액 변경은 DB 트랜잭션 + 행잠금(SELECT ... FOR UPDATE)으로 처리
  7. 감사 / 환불 / 분쟁: 모든 이벤트는 고유 idempotency_key 와 audit log로 추적

<aside>

idempotency_key 멱등성 키

멱등성이 뭔가요? | 토스페이먼츠 개발자센터

</aside>


핵심 엔터티(관계 요약)