구조 · 흐름도
HPNK-SHOP의 세 역할(회원·셀러·관리자)이 어떻게 연결되고, 상품이 등록되어 판매·정산까지 어떤 흐름으로 진행되는지 도식으로 설명합니다.
① 회원 · 셀러 · 관리자 관계
셀러는 별도 계정이 아니라 회원 계정에 셀러 자격이 연결되는 구조입니다(한 계정이 구매자이면서 판매자). 관리자는 쇼핑몰 회원과 분리된 별도의 운영자 계정 체계를 사용합니다.
👤
비회원
둘러보기 · 장바구니 담기
🛍️
회원(구매자)
구매 · 주문/반품 · 리뷰 · 알림
🏪
셀러(판매자)
회원 자격 + 판매 워크스페이스(/seller-admin)
🛠️
플랫폼 관리자 (별도 계정 · /admin)
입점 승인/정지 · 마스터 상품/카테고리 · 정산/환율 · 리뷰/반품 관리
- 회원 → 셀러: 회원이
/ko/become-seller에서 입점을 신청하고 관리자가 승인하면 같은 계정에 셀러 자격이 붙습니다. 셀러도 일반 회원처럼 구매할 수 있습니다. - 관리자: 쇼핑몰 회원과 무관한 운영자 계정(
/admin/login)으로, 역할(Role)별 권한(RBAC)에 따라 메뉴 접근이 제어됩니다.
② 상품 등록 구조 — 마스터 상품과 판매 상품
상품 원장은 플랫폼이 소유하고(마스터 상품), 셀러는 이를 연결해 자신의 판매 조건으로 판매합니다. 같은 마스터 상품을 여러 셀러가 서로 다른 가격·재고로 판매할 수 있습니다.
마스터 상품 등록
SKU · 기본가 · 카테고리 · 다국어명/설명 · 이미지 (플랫폼 공통 원장)
판매 상품으로 연결
판매가/세일가 · 재고(수량 관리/무제한) · 배송/반품 정책 · 활성화
상품 노출
상품 상세에 셀러별 판매 조건 표시 · 셀러샵(/@slug)에도 노출
구매
장바구니 → 체크아웃 → 결제
노출 조건: 셀러가 active 상태이고 판매 상품이 활성이어야 공개몰에 표시됩니다.
③ 셀러 입점 흐름
입점 신청
/ko/become-seller — 표시명·셀러 URL·사업자 정보
심사 (승인/거절)
/admin/seller_applications
셀러 등록 reviewing
셀러샵은 "준비 중" 표시
활성화 active
셀러샵 공개 · 판매 시작
셀러 상태: reviewing(심사중) · active(영업중) · private(비공개) · suspended(정지 — 조회만 가능).
④ 주문 → 배송 → 정산 흐름
주문은 결제 시점에 셀러별 주문(SellerOrder)으로 분리되어 각 셀러가 독립적으로 발송·반품을 처리하고, 정산도 셀러 단위로 이루어집니다.
배송지 입력 · 주문 시점 환율 스냅샷 저장 · (현재 mock 결제로 즉시 성공)
셀러 A 상품 + 셀러 B 상품을 함께 사면 셀러 주문 2건이 만들어지고, 이후 배송·취소·반품·정산은 셀러 주문 단위로 진행
접수 → 주문확인 → 상품준비 → 배송중 → 배송완료 (일부 셀러만 발송되면 주문 전체는 "부분배송")
↳ 배송 전: 주문 취소
회원이 즉시 취소 — 결제 취소 + 재고 복원 → 셀러 주문 취소됨
↳ 배송완료 후: 반품 요청
반품 가능 기간 내 요청 → 셀러/관리자 승인(또는 자동 승인) 시 전액 − 반품 배송비 환불 + 재고 복원 + 해당 정산 보류. 거절 시 재요청 불가
주문 시점에 스냅샷된 수수료율(기본 10%) 적용 · 상태: pending → confirmed → payable → paid (보류/취소 분기)
역할별 책임 요약
| 단계 | 회원(구매자) | 셀러(판매자) | 플랫폼 관리자 |
|---|---|---|---|
| 상품 | 탐색 · 리뷰 작성 | 마스터 상품 연결 · 판매 조건 설정 | 마스터 상품/카테고리 원장 관리 |
| 주문 | 결제 · 취소/반품 요청 | 발송 처리 · 반품 승인/거절 | 전체 주문 모니터링 · 반품 대행 처리 |
| 정산 | — | 정산 내역 확인 | 정산 생성 · 상태 전이 · 지급 |
| 계정 | 가입 · 입점 신청 | 셀러샵/정책/프로필 관리 | 입점 승인 · 정지/활성 · 권한(RBAC) |