diff --git a/.forge/iss-5a912ed79baf-attempt-2.md b/.forge/iss-5a912ed79baf-attempt-2.md new file mode 100644 index 0000000..59e7abd --- /dev/null +++ b/.forge/iss-5a912ed79baf-attempt-2.md @@ -0,0 +1,3 @@ +# iss-5a912ed79baf-attempt-2 + +Forge 이슈 작업 브랜치 `forge/iss-5a912ed79baf-attempt-2`. diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..22984f9 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,23 @@ +```mermaid +sequenceDiagram + participant User + participant PaymentGateway + participant Database + + User->>PaymentGateway: Initiate payment + PaymentGateway->>User: Payment status (success) + User->>Database: Save transaction + Database-->>User: Transaction saved + + %% External failure scenario + User->>PaymentGateway: Initiate payment + PaymentGateway-->>User: Payment status (failure) + User->>Database: Log failure reason + + %% Database failure scenario + User->>PaymentGateway: Initiate payment + PaymentGateway->>User: Payment status (success) + User->>Database: Save transaction + Database-->>User: Transaction failed (DB error) + Note right of User: Rollback transaction +``` \ No newline at end of file