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

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

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

두줄요약

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

문제 상황

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

해결 방법

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

적용해볼 점

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

다음 읽기

같은 회사의 연관 글

결제 기능 공통 컴포넌트 구현기

React 공통 컴포넌트로 결제 SDK 연동과 상태 관리를 일원화한 구현 경험을 정리했습니다. 인라인·팝업을 통합하고 성공·실패 후처리와 멱등성까지 고려한 설계가 핵심입니다.

넥스트리
넥스트리
프론트엔드

댓글 0개

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

댓글을 불러오는 중...