개발 slecs

인터넷은행 송금 핸들러 추가와 실패 알림 메시지 개선

목차

신규 인터넷은행 핸들러 추가하면서 정리한 것

연락처 송금 기능에 인터넷은행 한 곳을 추가했음. 기존엔 시중은행 위주로 핸들러가 등록돼 있어서, 핸들러 레지스트리에 신규 은행 키를 추가하고 응답 파싱 로직을 별도 핸들러로 분리했음.

처음엔 그냥 기존 핸들러 복사해서 두세 줄만 바꾸면 끝일 줄 알았는데, 막상 들어가 보니 응답 포맷이 미묘하게 다름. 계좌 유효성 체크 반환 필드가 다르고, 에러코드 체계도 따로 놀았음. 결국 핸들러 인터페이스에 변환 메서드를 한 단계 더 두는 식으로 정리.

유틸 손본 부분

  • 매칭 유틸: 동일 전화번호로 등록된 파트너가 여러 명일 때 우선순위 로직이 비어있던 케이스 보강
  • 송금 유틸: 금액 포맷팅을 분기별로 따로 처리하던 코드를 단일 함수로 통합
  • 알림 유틸: 실패 사유 코드를 사람이 읽을 수 있는 메시지로 매핑하는 테이블 추가

특히 알림 유틸 쪽이 손이 많이 갔음. 그동안 실패 알림이 FAIL_03 같은 코드만 던져줘서, 운영팀이 매번 코드표 찾아보고 있었음. 이번 기회에 매핑 테이블 정의하고, 메시지에 사유와 다음 액션 가이드를 같이 담도록 바꿈.

매핑 테이블 설계

구분 의미 알림 메시지 처리
계좌 오류 미등록/예금주 불일치 사용자에게 재확인 안내
한도 초과 일/월 한도 초과 현재 한도 정보와 함께 안내
시스템 오류 외부 응답 지연/실패 재시도 가능 여부 명시

이렇게 분류하니까 받는 쪽에서 바로 액션을 정할 수 있게 됨. 코드만 보고 추측하던 시간이 줄었다는 피드백 받음.

회고

헷갈렸던 포인트
- 핸들러 등록 키 네이밍 컨벤션이 통일 안 돼 있었음
- 동일 전화번호 중복 케이스가 운영 데이터에 생각보다 많았음
- 실패 코드가 은행마다 의미가 미묘하게 달랐음

다음엔 핸들러 추가할 때 응답 파싱 계약을 인터페이스로 더 빡빡하게 잡아두면, 신규 은행 붙일 때 시행착오를 줄일 수 있을 듯. 매핑 테이블도 코드 안에 박지 말고 외부 설정으로 빼두는 게 운영팀이 직접 관리하기 편할 것 같음.

댓글 0

첫 댓글 달아줘.