결제 전환 목표 아키텍처 정의 (2/2) #2
1 changed files with 35 additions and 0 deletions
35
docs/architecture/transaction-sequence.md
Normal file
35
docs/architecture/transaction-sequence.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
# 결제 전환 아키텍처
|
||||
|
||||
## 트랜잭션 시퀀스 다이어그램
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User
|
||||
participant PaymentGateway
|
||||
participant Database
|
||||
participant Application
|
||||
|
||||
User->>Application: 결제 요청
|
||||
Application->>Database: 트랜잭션 시작
|
||||
Application->>PaymentGateway: 결제 요청
|
||||
alt 정상 흐름
|
||||
PaymentGateway-->>Application: 결제 성공
|
||||
Application->>Database: 트랜잭션 커밋
|
||||
Database-->>Application: 커밋 완료
|
||||
Application-->>User: 결제 완료
|
||||
else 외부 실패
|
||||
PaymentGateway-->>Application: 결제 실패
|
||||
Application->>Database: 트랜잭션 롤백
|
||||
Database-->>Application: 롤백 완료
|
||||
Application-->>User: 결제 실패
|
||||
else DB 실패
|
||||
Application->>Database: 트랜잭션 롤백
|
||||
Database-->>Application: 롤백 실패
|
||||
Application-->>User: 시스템 오류
|
||||
end
|
||||
```
|
||||
|
||||
## 주의사항
|
||||
- 외부 결제 gateway는 port interface 뒤에 두고 domain에서 adapter를 직접 참조하지 않는다.
|
||||
---
|
||||
Loading…
Add table
Add a link
Reference in a new issue