diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..1c070f8 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,37 @@ +```mermaid +sequenceDiagram + participant User as 사용자 + participant PaymentGateway as 결제 게이트웨이 + participant Banking as 은행 + participant System as 시스템 + + User->>System: 결제 요청 + activate System + System->>PaymentGateway: 결제 처리 요청 + activate PaymentGateway + + alt 성공 + PaymentGateway-->>System: 결제 성공 + activate System + System->>Banking: 금액 이체 요청 + activate Banking + Banking-->>System: 이체 성공 + deactivate Banking + System-->>User: 결제 완료 + deactivate System + else 외부 실패 + PaymentGateway-->>System: 결제 실패 + deactivate PaymentGateway + System-->>User: 결제 실패 메시지 + deactivate System + else DB 실패 + PaymentGateway-->>System: 결제 처리 중 오류 발생 + deactivate PaymentGateway + System->>System: 롤백 처리 + System-->>User: 결제 처리 실패 및 복원 + deactivate System + end + + deactivate PaymentGateway + deactivate System +``` \ No newline at end of file