본문으로 이동
가맹점은 변함없이, 결제창 시스템 전면 재작성하기
문서

가맹점은 변함없이, 결제창 시스템 전면 재작성하기

황성우 토스 · 토스 기술 블로그

원문 보기

AI 핵심 요약

20년 된 결제창은 수천 줄의 분기문, 오래된 Struts·WebLogic, JSP에 섞인 DB 접근과 FE·BE 강결합 때문에 기능 추가와 변경이 어려웠습니다. 이를 개선하기 위해 값과 기능 파라미터를 분리한 불변 `SessionCreationRequest`와 `Feature` 객체를 도입하고, OpenAPI와 레거시 입력을 각각 독립적인 Converter로 변환해 코어 로직을 외부 인터페이스 변화로부터 분리했습니다. 결제 흐름은 ENTRY·PREPARE·CONFIRM으로 표준화하고, 서버가 목적지·전송 방식·데이터를 지정하는 Bridge 인터페이스로 FE의 비즈니스 판단을 줄였으며, Canary 배포와 단계별 모니터링·자동 롤백으로 가맹점 연동을 유지하며 전환했습니다. 그 결과 기존 연동을 깨뜨리지 않고 새 기능을 빠르게 개발할 기반을 마련했으며, 첫 화면의 Preflight 제거와 Multi-Layer Cache도 성능 및 트래픽 대응을 위한 설계에 포함했습니다.

  • 외부 연동 파라미터는 Converter에서 검증·변환하고, 내부 도메인 로직은 안정적인 요청 객체만 다루게 하세요.
  • 여러 파라미터에 흩어진 기능 조건은 Feature 객체로 묶어 응집도를 높이고 중복 처리를 줄일 수 있습니다.
  • FE가 결제처나 전송 방식을 판단하지 않도록 서버가 목적지·HTTP 방식·payload를 담은 Bridge 응답을 제공하세요.
  • 대규모 전환은 가맹점과 기능 단위 Canary 배포, 단계별 지표 모니터링, 자동 롤백으로 위험을 제한할 수 있습니다.
  • 첫 화면처럼 지연에 민감한 요청은 CORS Preflight를 피하는 Simple Request와 캐시 계층을 함께 검토하세요.

소개

20년간 유지되어 온 PG의 레거시 결제창 시스템을, 변화에 유연하게 진화할 수 있는 새로운 결제 시스템으로 재탄생시킨 여정을 공유합니다.

비슷한 학습 자료

문서 표상영

보안 분석가라면 누구나 한 번쯤 상상했을 ‘해줘’로 취약점 찾기. 그 경험을 공유해 드립니다.

AI에이전트 개발 보안

문서 정수호

우리는 결심했습니다. "누구나 실행할 수 있고, 언제나 신뢰할 수 있는 자동화 시스템"을 만들자고. 그 핵심은 Functional Page Object Model(POM)이었습니다.

소프트웨어 테스트

문서 박순현/양권성

약 20년간 운영되어 온 레거시 결제 시스템을 어떻게 확장성과 회복 탄력성을 갖춘 구조로 전환해 나갔는지, 그 과정에서 마주한 장애들과 해결 경험을 공유합니다.

백엔드 데이터베이스

문서 최진영

SDK를 개발하며 마주한 다양한 상황과 기술적 어려움, 그리고 이를 해결하기 위해 우리가 설정한 핵심 가치와 달성해온 과정을 공유합니다.

웹 개발 프론트엔드

문서 김용성

AI 기반 코딩 도구를 활용해서 토스페이먼츠 결제 시스템을 쉽고 빠르게 연동할 수 있도록, MCP 서버를 구현한 과정과 인사이트를 공유합니다.

AI 코딩 AI에이전트 개발

문서 라웅배

토스페이먼츠 SDK 팀에서 카나리 배포를 프론트엔드 제품에 적용하면서 개발자들의 배포 경험을 개선한 사례를 소개해요.

프론트엔드 데브옵스 · 인프라