ADR-T-060_선결제 슬롯 시스템 구조
# Architecture / Prepaid Slot System Overview
1. 목적
본 문서는 플랫폼의 선결제 슬롯 시스템 구조를 요약한다. 세부 도메인 규칙의 단일 원천(SoT)은 Domain ADR(DS-060~065)이다.
이 시스템은 다음 목표를 가진다.
시간 기반 슬롯 관리
발행자 직접 결제 구조
플랫폼 비정산 모델 유지
픽업 서비스 지원플랫폼은 거래 중개 플랫폼이 아니라 시간 관리 인프라로 설계된다.
2. 시스템 구성
선결제 슬롯 시스템은 다음 구성요소로 이루어진다.
Slot Service
Reservation Service
Payment Redirect Handler
usage-verification / QR Service구조 개요
User
→ Slot
→ Reservation
→ Payment
→ QR
→ Redemption3. 핵심 원칙
시스템은 다음 원칙을 따른다.
결제 수령은 발행자가 수행한다
플랫폼은 결제 상태만 반영한다
슬롯은 제한된 자원이다
동시성 안전성이 중요하다4. 상태 모델
슬롯 사용 흐름은 다음 상태 모델을 따른다.
issued
→ reserved
→ paid
→ redeemed예외 상태
reserved → expired
reserved → payment_failed
paid → no_show5. 슬롯 확보 흐름
슬롯 확보 과정
User selects slot
→ reservation 생성
→ 상태 reserved
→ 결제 시작예약은 TTL 기반 임시 확보로 처리된다.
기본 설정
reservation TTL = 3 minutes6. 결제 흐름
결제는 발행자 PG에서 진행된다.
User
→ Publisher PG
→ Payment approval
→ Redirect to platform플랫폼은 결제 결과만 확인한다.
결제 흐름
reserved
→ PG payment
→ redirect
→ verify payment
→ paid7. 결제 검증
리다이렉트 결과는 반드시 서버 검증을 수행한다.
검증/보정의 상세 규칙은 ADR-DS-062를 따른다.
Redirect received
→ order_id 확인
→ amount 확인
→ PG verify API
→ payment_status 확인검증 성공 시
reservation → paid8. 슬롯 수량 관리
슬롯 수량은 상태 기반 계산 방식을 사용한다.
수량 점유 상태 및 동시성 제어의 상세 규칙은 ADR-DS-064를 따른다.
슬롯 속성
slot.quantity활성 예약
reserved
paid
redeemed
no_show남은 수량
remaining =
slot.quantity
- capacity_consuming_count이 방식은 다음 문제를 방지한다.
중복 판매
동시성 오류
수량 복구 오류9. 픽업 흐름
결제 완료 이후 매장은 준비를 시작할 수 있다.
사용 흐름
paid
→ 사용자 방문
→ QR 스캔
→ redeemed10. 노쇼 처리
픽업 시간 이후 일정 시간 지나면 노쇼 처리된다.
예
pickup_end + 15 minutes상태 전이
paid → no_show11. 결제 중 슬롯 잠금
결제 시작 시 슬롯은 잠긴다.
issued → reservedreserved 상태는 수량을 점유한다.
만료 시
reserved → expired12. 발행자 PG 구조
플랫폼은 결제를 직접 처리하지 않는다.
결제 구조
User
→ Publisher PG
→ Publisher Account플랫폼의 PG 등록/시크릿 저장 규칙은 ADR-DS-065를 따른다.
13. Sequence Diagram
선결제 슬롯 흐름
User
| select slot
v
Platform
| create reservation (reserved)
v
PG Payment
| user payment
v
PG
| redirect
v
Platform
| verify payment
v
reservation → paid14. Reservation Lifecycle
issued
|
reserved
| \
| payment_failed
|
paid
|
redeemed만료 흐름
reserved → expired
paid → no_show15. UX 원칙
UX는 다음 구조를 따른다.
현장결제
사용하기
→ 방문
→ 사용선결제
선결제 후 사용
→ 결제
→ 방문
→ 픽업선결제는 추가 단계가 아니라 행동 방식의 차이로 표현한다.
16. ADR 참조
이 설계 문서는 다음 ADR을 기반으로 한다.
ADR-DS-060 선결제 기능 도입
ADR-DS-061 결제 중 슬롯 확보 정책
ADR-DS-062 PG 리다이렉트 결제 확인
ADR-DS-063 선결제 픽업 슬롯 운영 정책
ADR-DS-064 슬롯 수량 관리 및 동시성 제어
ADR-DS-065 발행자 PG 연결 정책
ADR-U-060 선결제 슬롯 UX 구조SoT 매핑
상태 모델/책임 경계 -> ADR-DS-060
결제 중 임시 확보(TTL) -> ADR-DS-061
결제 검증/보정(idempotent) -> ADR-DS-062
픽업 운영/노쇼 -> ADR-DS-063
수량 계산/동시성 제어 -> ADR-DS-064
PG 연결/키 등록 정책 -> ADR-DS-065
UX 표현 원칙 -> ADR-U-06017. 확장 가능성
이 구조는 다음 서비스로 확장 가능하다.
클래스 예약
좌석 예약
시간 기반 서비스핵심 개념은 동일하다.
시간 슬롯
예약
결제
사용 확인