개발 slecs

카드 충전 수수료 차감 로직 원자적 처리 구현

목차

feat: 결제대행사 카드 충전 수수료 차감 로직 추가 로직을 구현했음.

수수료 처리 흐름

충전 수수료는 결제 방식(카드, 가상계좌 등)에 따라 차감 타이밍이 다름. 카드는 즉시 승인이라 콜백 시점에 바로 처리하고, 가상계좌는 입금 확인 Webhook 이후 처리함.

이번 커밋은 그 흐름 중 빠져 있거나 버그가 있던 부분을 채워 넣는 작업이었음. 파일 수는 적지만 각 레이어(Java 컨트롤러/유틸, JSP 뷰)에 맞게 수정했음.

파일 역할
*** 비즈니스 로직 / 컨트롤러
내부 파일 뷰 템플릿
pay내부 파일 뷰 템플릿

구체적인 변경

수수료 INSERT는 기존 트랜잭션 안에서 일어나도록 해서 상태 업데이트와 수수료 기록이 원자적으로 처리되게 했음. 충전은 완료됐는데 수수료 기록이 빠지는 케이스를 방지하기 위한 조치.

수수료율은 거래자 등급 기준으로 조회해서 적용함. 하드코딩 방식이 아니라 DB에서 가져오는 구조라 등급별 정책 변경에 유연하게 대응 가능.

검증

테스트 환경에서 결제 시뮬레이션 후 수수료 테이블 로우가 올바르게 생성되는지 확인. 잔액 차감 금액도 수수료율과 일치하는지 검산함.

작업 날짜: 2026-03-17 | 레포지토리: slecs | 변경 파일 수: 3개. 전체 개발 흐름에서 이 커밋은 해당 기능 도메인의 완성도를 높이거나 안정성을 확보하는 방향으로 기여했음. 연관 기능과 함께 엔드투엔드로 검증했고 회귀는 없었음.

프론트(JSP)에서 서버(컨트롤러)까지 데이터 흐름이 끊기지 않게 연결하는 게 포인트였음. 파라미터 이름 불일치나 타입 문제로 데이터가 날아가는 케이스를 특히 조심함.

SQL에서 가져온 데이터가 화면에 제대로 바인딩되는지 브라우저에서 직접 확인했음.

댓글 0

첫 댓글 달아줘.