diff --git a/.forge/iss-1b3092823a38-attempt-1.md b/.forge/iss-1b3092823a38-attempt-1.md new file mode 100644 index 0000000..4aa3b04 --- /dev/null +++ b/.forge/iss-1b3092823a38-attempt-1.md @@ -0,0 +1,3 @@ +# iss-1b3092823a38-attempt-1 + +Forge 이슈 작업 브랜치 `forge/iss-1b3092823a38-attempt-1`. diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..6a43240 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,34 @@ +sequenceDiagram + participant User + participant Payment Service + participant DB + participant External Gateway + + User->>Payment Service: Initiate Payment + activate Payment Service + Payment Service->>DB: Begin Transaction + activate DB + DB-->>Payment Service: Transaction Started + deactivate DB + Payment Service->>External Gateway: Request Payment Authorization + activate External Gateway + + alt Successful Authorization + External Gateway-->>Payment Service: Authorization Success + Payment Service->>DB: Commit Transaction + activate DB + DB-->>Payment Service: Transaction Committed + deactivate DB + Payment Service-->>User: Payment Successful + else Authorization Failed + External Gateway-->>Payment Service: Authorization Failure + Payment Service->>DB: Rollback Transaction + activate DB + DB-->>Payment Service: Transaction Rolled Back + deactivate DB + Payment Service-->>User: Payment Failed + end + +autonumber + +