35 lines
No EOL
1.1 KiB
Markdown
35 lines
No EOL
1.1 KiB
Markdown
---
|
|
# 결제 전환 아키텍처
|
|
|
|
## 트랜잭션 시퀀스 다이어그램
|
|
|
|
```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를 직접 참조하지 않는다.
|
|
--- |