분석 자료를 불러오는 중…
코인제를 선택할 경우의 최소 설계다. 구매 지급과 회차 해제에 각각 중복 처리를 막는 기준을 두고, 앱이 종료돼도 상태를 다시 확인한다.
범위: 우리 서비스 제안
sequenceDiagram autonumber actor U as 사용자 participant A as 앱 participant S as 앱스토어 participant B as 서버 · 장부 · 권한 U->>A: 가격 · 코인 구성 확인 후 구매 A->>S: 상품 구매 요청 alt 사용자 취소 또는 결제 실패 S-->>A: 취소 · 실패 결과 A-->>U: 잔액 유지 · 재시도 선택 else 완료 또는 지연 완료 S-->>B: 검증할 거래 정보 B->>B: 거래 검증 · 거래 ID 중복 확인 B->>B: 같은 거래에는 한 번만 코인 지급 A->>B: 구매 상태 · 잔액 재조회 B-->>A: 확정 잔액 · 획득 내역 A-->>U: 지급 결과 표시 end U->>A: 회차 가격 · 잔액 확인 후 해제 A->>B: 회차 해제 요청 · 중복 방지 키 alt 이미 해제된 회차 B-->>A: 기존 시청 권한 · 추가 차감 없음 else 잔액 충분 · 처리 성공 B->>B: 코인 차감과 권한 부여를 함께 확정 B-->>A: 시청 권한 · 갱신 잔액 A-->>U: 해제 완료 · 갱신 잔액 표시 A->>A: 플레이어 로딩 alt 영상 표시 성공 A-->>U: 실제 첫 프레임 · 재생 else 영상 로딩 실패 A-->>U: 오류 안내 · 재시도 · 닫기 end else 부족 또는 처리 실패 B-->>A: 실패 사유 · 차감 미확정 또는 복구 A-->>U: 충전 · 재시도 · 닫기 end Note over S,B: 통지 · 검증 방식은 출시 플랫폼에 맞춰 구현
All이 기본 선택되어 있고 Select로 확정한다. Romance·Romantasy와 BL을 함께 제시하며 보이는 범위에 건너뛰기는 없다.