핀테크 정산 시스템
결제사와 은행 데이터를 대사해 일별 정산을 자동으로 마감하도록 만들었습니다.

- 개발 기간
- 약 6개월
- 투입 인원
- 5명
- 지원 플랫폼
- 웹 · 서버
- 연동 시스템
- 결제사 · 은행 데이터
배경
결제사에서 내려오는 거래 내역과 은행 입금 내역을 담당자가 매일 엑셀로 맞춰보고 있었다. 건수가 늘면서 대사 작업이 하루를 넘기기 시작했고, 마감이 밀리면 다음 정산에도 영향을 줬다.
구현 범위
- 결제사·은행 데이터 수집
- 거래 내역 자동 대사
- 불일치 건 예외 처리 화면
- 일별 정산 마감 처리
- 정산 결과 리포트 생성
- 정산 이력 조회
기술 선택
그 상황에서 무엇을 왜 골랐는지대사 결과를 자동 확정하지 않고 예외 건만 담당자 확인 후 마감
금액이 걸린 정산이라 시스템이 자동으로 확정해버리면 오류가 있어도 발견이 늦어진다. 규칙에 맞는 건은 자동 처리하되 규칙을 벗어난 건은 반드시 사람이 확인하고 승인해야 마감되도록 흐름을 나눴다.
PostgreSQL에서 정산 이력을 변경 불가 형태로 적재
정산 데이터는 사후에 그때 왜 이 금액이었는지 되짚을 수 있어야 감사 대응이 된다. 마감된 정산 건은 수정 대신 정정 건을 새로 추가하는 방식으로 남겨, 이전 상태가 지워지지 않게 했다.
기술 과제
문제
결제사마다 거래 내역 파일 형식과 필드명이 달라 하나의 대사 로직으로 처리할 수 없었다.
접근
결제사별 파일을 공통 거래 모델로 변환하는 어댑터 계층을 두고, 대사 로직은 이 공통 모델만 바라보게 분리했다.
결과
새로운 결제사가 추가돼도 어댑터만 붙이면 되고, 대사 로직 자체를 건드릴 필요가 없어졌다.
문제
은행 입금이 다음 영업일로 밀리는 경우가 있어, 정산일과 실제 입금일이 다른 건이 매일 일부 남았다.
접근
정산 건에 대사 대기 상태를 두고, 입금이 확인되지 않은 채로 일정 기간이 지나면 담당자 화면에 별도로 모아 보이도록 했다.
결과
정산일이 밀린 건이 누락되지 않고 계속 추적되어, 마감 이후에도 확인이 필요한 건을 놓치지 않게 됐다.
이관과 운영
정산 담당자용 운영 매뉴얼과 예외 처리 기준 문서를 함께 전달했다. 소스코드와 인프라 구성을 인수인계했고, 결제사 추가 연동은 별도 유지보수 범위로 협의했다.