Compare commits

..

2 commits

Author SHA1 Message Date
f5923a3a7a 결제 전환 목표 아키텍처 정의 (2/2) (iss-5a912ed79baf)
All checks were successful
ci / test (pull_request) Successful in 6s
2026-07-12 05:19:41 +00:00
cf6a5fe021 forge: open work branch for iss-5a912ed79baf-attempt-2 2026-07-12 05:19:35 +00:00
5 changed files with 17 additions and 44 deletions

View file

@ -0,0 +1,3 @@
# iss-5a912ed79baf-attempt-2
Forge 이슈 작업 브랜치 `forge/iss-5a912ed79baf-attempt-2`.

View file

@ -1,3 +0,0 @@
# iss-5a912ed79baf-attempt-3
Forge 이슈 작업 브랜치 `forge/iss-5a912ed79baf-attempt-3`.

View file

@ -1,3 +0,0 @@
# iss-87190c9836ac-attempt-1
Forge 이슈 작업 브랜치 `forge/iss-87190c9836ac-attempt-1`.

View file

@ -1,9 +0,0 @@
# Package Responsibility Map
| Package | Responsibility | Forbidden Dependencies |
|----------------|------------------------------------------------|------------------------|
| controller | Handles user input and orchestrates payment | domain |
| service | Contains business logic for payment processing | integration |
| repository | Data access layer for payment records | service |
| domain | Defines the core domain models and business rules| controller |
| integration | Communicates with external payment gateways | domain, service |

View file

@ -1,38 +1,23 @@
```mermaid
sequenceDiagram
participant User
participant PaymentService
participant PaymentGateway
participant Database
%% Normal Flow
User->>PaymentService: Initiate Payment
PaymentService->>Database: Store Transaction
Database-->>PaymentService: Transaction Stored
PaymentService->>PaymentGateway: Process Payment
PaymentGateway-->>PaymentService: Payment Success
PaymentService->>Database: Update Transaction Status
Database-->>PaymentService: Transaction Updated
PaymentService-->>User: Payment Success
User->>PaymentGateway: Initiate payment
PaymentGateway->>User: Payment status (success)
User->>Database: Save transaction
Database-->>User: Transaction saved
%% External Failure Flow
User->>PaymentService: Initiate Payment
PaymentService->>Database: Store Transaction
Database-->>PaymentService: Transaction Stored
PaymentService->>PaymentGateway: Process Payment
PaymentGateway-->>PaymentService: Payment Failure
PaymentService->>Database: Rollback Transaction
Database-->>PaymentService: Transaction Rolled Back
PaymentService-->>User: Payment Failure
%% External failure scenario
User->>PaymentGateway: Initiate payment
PaymentGateway-->>User: Payment status (failure)
User->>Database: Log failure reason
%% DB Failure Flow
User->>PaymentService: Initiate Payment
PaymentService->>Database: Store Transaction
Database-->>PaymentService: Transaction Store Failure
PaymentService-->>User: Payment Failure
%% Commit & Rollback
Note over User, PaymentService:
commit --> PaymentService
rollback --> PaymentService
%% 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
```