개발 slecs

출금 수수료 차등 정산 로직

목차

출금 수수료 정산 로직 추가

2026-03-29에 수수료 계산 또는 정산 관련 로직을 작업했음.

수수료 구조는 유통 계층별로 요율이 다르게 설정되는 차등 모델임. 하위 계층이 상위 계층보다 높은 요율을 부담하고, 그 차액이 상위 계층의 수익이 되는 구조임.

수수료 계층 예시

계층 요율 비고
최하위 1.0% 최대 부담
중간 0.8% 차액 0.2% 수익
최상위 0.6% 차액 0.2% 수익

건당 수수료도 있어서 비율 수수료 + 건당 고정 수수료를 합산하는 계산이 필요함. 정산 배치는 주기적으로 실행되면서 해당 기간 거래 내역을 집계하고 수수료를 확정함.

// 내부 클래스 계산 패턴
long feeAmount = (long)(txAmount * feeRate) + perTxFee;

검증이 중요한 로직이라 계층별 요율 순서가 맞는지 체크하는 validation도 추가했음. 하위 계층 요율이 상위보다 낮으면 마진이 음수가 되는 버그가 생길 수 있어서임.

작업 규모는 크지 않았지만 운영 안정성을 위한 필요한 변경이었음. 이런 작은 수정들이 쌓여서 전체 시스템의 신뢰도를 높임.

정산 UI 개선 포인트

정산 화면에서 사용자가 가장 많이 보는 건 결국 숫자임. 총 거래액, 수수료, 실수령액을 명확하게 보여주는 게 중요함.

금액 표기는 천 단위 구분자와 '원' 단위를 일관되게 적용하고, 마이너스 금액은 빨간색으로 표시해서 직관적으로 구분할 수 있게 하는 게 좋음.

정산 검증의 중요성

수수료 계산 로직은 금전 관련이라 오류가 나면 바로 신뢰 손상으로 이어짐. 계층별 요율을 다르게 적용하면서 올림/버림 처리도 결과에 영향을 미침.

일반적으로 원 단위 반올림은 사용자에게 유리한 방향(내림)으로 처리함. 수수료를 내는 쪽은 내림으로 덜 내고, 받는 쪽은 올림 없이 정확하게 받는 구조가 분쟁을 줄임.

정산 배치는 멱등성이 중요함. 같은 기간을 두 번 실행해도 결과가 달라지면 안 됨.

다음

댓글 0

첫 댓글 달아줘.