Compare commits
3 commits
forge/iss-
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 3525d692df | |||
| 9735dc34c9 | |||
| 0f6a310618 |
2 changed files with 38 additions and 0 deletions
3
.forge/iss-d0bdbb1b07fc-attempt-2-run-11c166a4a0e1.md
Normal file
3
.forge/iss-d0bdbb1b07fc-attempt-2-run-11c166a4a0e1.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# iss-d0bdbb1b07fc-attempt-2-run-11c166a4a0e1
|
||||||
|
|
||||||
|
Forge 이슈 작업 브랜치 `forge/iss-d0bdbb1b07fc-attempt-2-run-11c166a4a0e1`.
|
||||||
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