diff --git a/.forge/SPRING-ARC-SEQUENCE-attempt-1-run-a74343256c06.md b/.forge/SPRING-ARC-SEQUENCE-attempt-1-run-a74343256c06.md new file mode 100644 index 0000000..f9d12c1 --- /dev/null +++ b/.forge/SPRING-ARC-SEQUENCE-attempt-1-run-a74343256c06.md @@ -0,0 +1,3 @@ +# SPRING-ARC-SEQUENCE-attempt-1-run-a74343256c06 + +Forge 이슈 작업 브랜치 `forge/SPRING-ARC-SEQUENCE-attempt-1-run-a74343256c06`. diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..dc6c628 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,29 @@ +```mermaid +sequenceDiagram + participant User as User + participant Controller as Controller + participant PaymentService as PaymentService + participant Gateway as PaymentGateway + participant DB as Database + + User ->> Controller: Initiate Payment + Controller ->> PaymentService: Process Payment + PaymentService ->> Gateway: Call Payment Gateway + alt Successful Payment + Gateway -->> PaymentService: Payment Success + PaymentService ->> DB: Save Transaction + DB -->> PaymentService: Transaction Saved + PaymentService -->> Controller: Payment Processed + Controller -->> User: Payment Successful + else External Gateway Failure + Gateway -->> PaymentService: Payment Failed + PaymentService -->> Controller: Payment Failed + Controller -->> User: Payment Failed + else DB Failure + Gateway -->> PaymentService: Payment Success + PaymentService ->> DB: Save Transaction + DB -->> PaymentService: DB Error + PaymentService ->> Controller: Rollback Transaction + Controller -->> User: Payment Failed + end +``` \ No newline at end of file