결제 전환 목표 아키텍처 정의 (2/2) (iss-d0bdbb1b07fc)
All checks were successful
ci / test (pull_request) Successful in 8s
All checks were successful
ci / test (pull_request) Successful in 8s
This commit is contained in:
parent
0f6a310618
commit
9735dc34c9
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