```mermaid 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: 롤백 완료 ```