1.4 KiB
1.4 KiB
sequenceDiagram
participant User
participant PaymentService
participant PaymentGateway
participant Database
%% 정상 흐름
User->>PaymentService: 결제 요청
PaymentService->>Database: 거래 데이터 저장
Database-->>PaymentService: 저장 완료
PaymentService->>PaymentGateway: 결제 요청
PaymentGateway-->>PaymentService: 결제 성공
PaymentService->>Database: 거래 완료 상태 업데이트
Database-->>PaymentService: 상태 업데이트 완료
PaymentService-->>User: 결제 성공 응답
%% 외부 실패 흐름
User->>PaymentService: 결제 요청
PaymentService->>Database: 거래 데이터 저장
Database-->>PaymentService: 저장 완료
PaymentService->>PaymentGateway: 결제 요청
PaymentGateway-->>PaymentService: 결제 실패
PaymentService->>Database: 거래 실패 상태 업데이트
Database-->>PaymentService: 상태 업데이트 완료
PaymentService-->>User: 결제 실패 응답
%% DB 실패 흐름
User->>PaymentService: 결제 요청
PaymentService->>Database: 거래 데이터 저장
Database-->>PaymentService: 저장 실패
PaymentService-->>User: 결제 실패 응답
%% commit 흐름
PaymentService->>Database: 커밋
Database-->>PaymentService: 커밋 완료
%% rollback 흐름
PaymentService->>Database: 롤백
Database-->>PaymentService: 롤백 완료