28 lines
No EOL
913 B
Markdown
28 lines
No EOL
913 B
Markdown
```mermaid
|
|
sequenceDiagram
|
|
participant User
|
|
participant Controller
|
|
participant Service
|
|
participant Repository
|
|
participant Gateway
|
|
|
|
User->>Controller: 결제 요청
|
|
Controller->>Service: 결제 처리 요청
|
|
Service->>Repository: 트랜잭션 시작
|
|
alt 정상 흐름
|
|
Repository-->>Service: 트랜잭션 ID 반환
|
|
Service->>Gateway: 결제 요청
|
|
Gateway-->>Service: 결제 성공
|
|
Service->>Repository: 트랜잭션 커밋
|
|
Repository-->>Service: 커밋 성공
|
|
else 외부 실패
|
|
Gateway-->>Service: 결제 실패
|
|
Service->>Repository: 트랜잭션 롤백
|
|
Repository-->>Service: 롤백 성공
|
|
else DB 실패
|
|
Service->>Repository: 트랜잭션 롤백
|
|
Repository-->>Service: 롤백 실패
|
|
end
|
|
Service-->>Controller: 결제 결과 반환
|
|
Controller-->>User: 결제 결과 응답
|
|
``` |