# 결제 경계 아키텍처 결정 (ADR) ## Context 결제 처리 시스템에서는 결제 게이트웨이와의 통합이 필수적입니다. 사용자의 결제 정보 보호 및 다양한 외부 결제 시스템과 원활하게 작업하기 위해 설정된 경계가 필요합니다. ## Decision 결제 도메인에서는 외부 결제 게이트웨이에 직접 의존하지 않고, 대신 `PaymentGateway`라는 포트 인터페이스를 정의하여 이를 통해 외부 시스템을 호출합니다. 이로 인해 결제 도메인의 적절한 테스트 및 유지보수가 용이해집니다. ## Alternatives 1. **직접 의존성**: 결제 도메인에서 직접 외부 결제 API를 호출하는 방식 (비권장) 2. **서비스 레이어 사용**: 결제 서비스 레이어를 두고 해당 레이어에서 외부 API를 호출하는 구조 (권장) ## Consequences - 시스템의 결제 도메인과 외부 결제 시스템 간의 의존성을 줄여 유연성을 증대. - 외부 결제 시스템의 변경이 도메인에 미치는 영향을 최소화.