목록 보기
전략 패턴을 활용한 유연한 결제 모듈 구현기
아키텍처

전략 패턴을 활용한 유연한 결제 모듈 구현기

넥스트리
넥스트리
2026년 7월 15일

두줄요약

전략 패턴으로 PG별 결제 연동을 분리해 결제 플로우를 단순화했습니다. 새 PG 추가 시 기존 코드를 거의 수정하지 않도록 확장성을 확보했습니다.

문제 상황

  • 여러 PG 연동이 늘어날수록 결제 서비스 로직에 if-else 분기가 누적되는 구조
  • PG별 인증 헤더, 응답 파싱, 통신 세부사항이 핵심 결제 흐름과 강하게 결합되는 문제
  • 새로운 PG 추가 시 기존 결제 플로우까지 수정해야 하는 확장성 저하

해결 방법

  • 공통 PgProxy 인터페이스로 PG별 승인 로직을 추상화
  • @ConditionalOnProperty로 환경별 필요한 구현체만 스프링 빈으로 등록
  • PgProxyFactory가 Map 기반으로 전략 객체를 라우팅해 결제 서비스는 승인 위임만 수행

적용해볼 점

  • 결제 플로우와 외부 PG 연동 책임 분리
  • 신규 PG 추가 시 기존 코드 수정 최소화
  • 외부 통신부 분리로 테스트와 운영 설정 단순화

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...