# 초대 서비스 PRD v1

작성: 2026-09-07. 서비스명 ‘초대’는 가칭. 이 문서는 기존 Next.js/FastAPI 구현과 Sites 전체 화면 시안을 연결하는 개발 기준이다. Sites 화면의 거래·금액·업체·회원은 예시이며 실제 금융/배송 처리 기능은 아니다.

## 목표와 사용자

무료 초대장 생성부터 지인 공동 선물·축의금 전달·답례품 구매까지 한 행사 흐름에 연결한다. 주최자(행사와 수령 정보), 하객(초대 확인·축의금), 공동 선물 개설자/참여자(모집·분담 결제), 입점업체(상품·출고·정산), 내부 운영자(검수·구매·환불·송금)를 구분한다. 한 계정에 여러 역할이 가능하지만 권한은 리소스 단위로 검증한다.

## 확정 정책

| 항목 | 기준 |
|---|---|
| 초대장 | 무료, 컨셉 변경 시 입력 정보 보존, 명시적 공개 버전 유지 |
| 카테고리 | 결혼식/돌잔치/육아·출산/생일선물/집들이/답례품, 복수 등록 가능 |
| 공동 선물 | 실제 판매가를 선택한 인원으로 분담, 분할 자체 수수료 0 |
| 마감 | 최대 3일, 서버 기준 기한, 만료 후 신규 결제 방지 |
| 잔액 결제 | 개설자 부족분 결제 가능, 실제 인원 수를 임의로 늘리지 않음 |
| 배송 | 행사 주최자 등록 주소, 참여자에게 상세 주소 비공개 |
| 중복 경고 | 행사/수령인/품목군 기준. 같은 냉장고 선물 진행을 알림 |
| 초기 발주 | 운영자가 외부 쇼핑몰 구매·배송. 이후 업체 직접 출고 전환 |
| 상품 승인 | 내부 관리자 실제 실물 검수 필수, 검수 기록·담당자·시간 보존 |
| 상품 판매 수수료 | 업체 부담 8%. 분할결제에 별도 8% 추가하지 않음 |
| 축의금 | 보내는 사람이 원금의6% 추가 결제. 100,000→106,000 결제,100,000 수령 |
| 송금 | 행사 종료 후3영업일차 수령, 미수령 미지급 잔액은10영업일차 자동 입금 |
| 취소 | 고지한2%를 자동 위약금으로 부과하지 않음. 확정 정책과 단계별 실비 검토 |

## 기능 요구사항

### INV — 초대장

INV-01 컨셉 갤러리에서 행사별 필터·시안 비교·선택. INV-02 행사 제목·주인공·일시·장소·사진·문구 편집. INV-03 초안 자동 저장, revision 충돌 응답, 공개 스냅샷 분리. INV-04 공유 카드/랜딩이 같은 데이터·템플릿 버전을 사용. INV-05 사진 크기·포맷·메타데이터 검사. INV-06 공개 취소 시 손님 접근 차단. INV-07 행사 단위는 초대장과 분리하여 여러 초대장이 같은 선물·수령 정보를 참조.

### CAT — 입점·상품

CAT-01 사업자와 업체 운영정보 심사. CAT-02 판매가·배송비·설치 조건·반품 정보·재고·실제 상품 사진·옵션·복수 분류 입력. CAT-03 실물 확인과 검수 메모 없이 승인 금지. CAT-04 승인된 revision만 판매 노출. 수정은 재검수, 운영 중지는 즉시 공개/신규 결제 차단. CAT-05 카테고리 수정은 안정된 코드 유지, 상품 중복 생성 없이 연결 테이블 사용.

### GRP — 공동 선물

GRP-01 상품·인원·분담금·72시간 기한 표시. GRP-02 본인확인 후 참여하며 링크만으로 다른 사람 신원/주소 노출 금지. GRP-03 결제 승인 합계와 실제 결제 인원을 따로 계산. GRP-04 잔액 원 단위는 개설자 분담에 할당. GRP-05 목표 달성 후 재고·가격을 확인하고 주문 확정. GRP-06 중복 품목군 경고는 다른 모임 개인정보 없이 표시. GRP-07 만료/목표 달성 경쟁과 중복 webhook에 멱등 처리.

### PAY — 결제·축의금

PAY-01 상품 분담/축의금 결제 유형을 별도 원장으로 구분. PAY-02 클라이언트 금액을 신뢰하지 않고 서버에서 계산. PAY-03 승인 전 성공 화면 금지, 지연/실패/재시도 상태 제공. PAY-04 수령인은 CARD를 누른 계좌 항목과 연결된 검증된 recipient_id. PAY-05 원금·6%수수료·총액·수령액을 결제 전에 표시. PAY-06 3/10영업일 지급 키·미지급 잔액·계좌 검증·실패 큐 관리. PAY-07 직접 계좌 복사는 카드결제 원장과 구분.

### OPS — ERP

OPS-01 업체 심사·실물 검수·발주·배송·환불·송금·정산 큐. OPS-02 초기 외부 구매 증빙·재고·가격 변동 기록. OPS-03 배송지 수정 가능 단계와 주소 버전을 주문에 고정. OPS-04 원결제별 환불과 부분 취소, 외부몰 취소 여부 확인. OPS-05 업체8% 수수료와 축의금6% 수수료를 별도 계정으로 대사. OPS-06 모든 승인/거래 변경에 작업자·사유·전후 상태·멱등키 기록.

## 공통 상태·비기능

로딩/빈 상태/권한 없음/검증 오류/중복 요청/외부 응답 지연/실패 재시도를 별도로 설계한다. 모바일375, 태블릿768, 데스크톱1280을 지원한다. 최소 터치44px, 본문16px, 키보드 포커스·의미 있는 레이블·한글 줄바꿈·reduced-motion 대응. 계좌·주소·인증정보는 목적별 최소 접근, 저장 암호화와 로그 마스킹·감사·백업·복구가 운영 전 필요하다.

## 인수 기준

1. 다른 계정의 초대장·배송지·결제 정보 접근 차단.
2. 템플릿 변경 후 내용 보존, 초안 수정 후 기존 공개본 유지.
3. 실물 확인·5자 이상의 의미 있는 검수 메모·담당자 없으면 승인 거부.
4. 4명 결제+개설자 잔액이면 금액은100%,인원은4/5 유지.
5. 승인·환불·송금 webhook을 반복해도 원장은 한 번 반영.
6.10만원 축의금은106,000원 결제/100,000원 수령.
7.100만원 상품의 업체8% 수수료는80,000원, 분할수수료0.
8.3일차 지급된 원금은10일차 자동 입금에 재포함되지 않음.
9.품절/외부 구매 실패/기한 만료는 성공 주문으로 노출되지 않음.
10.사이트맵 모든 화면의 목적·권한·상태·API·예외가 개발 티켓과 연결.

## 구현 상태와 남은 결정

기존 개발본은 회원 세션·초대장 저장/공개·카드 다운로드·기본 카테고리를 구현했다. 이번 Sites는 전체35화면 설계 시안이며 ERP/금융/주문 데이터를 저장하지 않는다. 실운영 API 완료로 해석하지 않는다.

추가 확정: 모집72시간 기산점, 원 단위 수수료 반올림, 상품 수수료의 VAT·배송비 기준, 출고 전후 취소/반품 실비, 설치 불가/가격 변동 처리, 행사 변경·취소 시 송금 일정, 영업일 캘린더 공급, 계좌 인증·PG 계약, 개인정보 보존 기간, 운영 역할별 승인 한도. PG 승인 절차는 사용자가 담당한다.
