--- # 결제 전환 아키텍처 ## 트랜잭션 시퀀스 다이어그램 ```mermaid sequenceDiagram participant User participant PaymentGateway participant Database participant Application User->>Application: 결제 요청 Application->>Database: 트랜잭션 시작 Application->>PaymentGateway: 결제 요청 alt 정상 흐름 PaymentGateway-->>Application: 결제 성공 Application->>Database: 트랜잭션 커밋 Database-->>Application: 커밋 완료 Application-->>User: 결제 완료 else 외부 실패 PaymentGateway-->>Application: 결제 실패 Application->>Database: 트랜잭션 롤백 Database-->>Application: 롤백 완료 Application-->>User: 결제 실패 else DB 실패 Application->>Database: 트랜잭션 롤백 Database-->>Application: 롤백 실패 Application-->>User: 시스템 오류 end ``` ## 주의사항 - 외부 결제 gateway는 port interface 뒤에 두고 domain에서 adapter를 직접 참조하지 않는다. ---