913 B
913 B
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: 결제 결과 응답