init: technical-visualization-haness 하네스 설계
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# Checkout payment request
|
||||
|
||||
이 문서는 체크아웃 서비스가 결제 요청을 처리하는 경로를 설명한다. 독자는 결제 승인 요청이 어느 컴포넌트를 거쳐 저장되는지 빠르게 파악해야 한다.
|
||||
|
||||
## 호출 전 조건
|
||||
|
||||
클라이언트는 로그인 세션과 장바구니 식별자를 보유한다. 체크아웃 API는 인증 게이트웨이 뒤에 있으며, 인증 게이트웨이는 유효한 세션만 통과시킨다.
|
||||
|
||||
## 결제 요청 경로
|
||||
|
||||
클라이언트는 HTTPS로 인증 게이트웨이에 결제 요청을 보낸다. 인증 게이트웨이는 검증된 요청을 체크아웃 API로 전달한다.
|
||||
|
||||
체크아웃 API는 주문 레코드를 PostgreSQL에 `PENDING` 상태로 기록한 뒤 결제 제공자 API에 승인 요청을 보낸다. 결제 제공자가 승인하면 체크아웃 API는 주문 상태를 `PAID`로 갱신하고 `payment.approved` 이벤트를 이벤트 버스에 발행한다.
|
||||
|
||||
<!-- techviz:generate id=payment-request -->
|
||||
|
||||
## 실패 처리
|
||||
|
||||
결제 제공자가 거절하면 체크아웃 API는 주문을 `DECLINED`로 갱신한다. 네트워크 타임아웃은 재시도 정책의 적용 대상이지만, 이 문서에서는 재시도 횟수와 백오프 값을 정의하지 않는다.
|
||||
Reference in New Issue
Block a user