개발 slecs

정산 출금 가능 금액 산식 개선과 명세 투명화

목차

결제 플랫폼의 정산 시스템에서 가맹점이 실제로 출금할 수 있는 금액을 계산하는 로직을 손봤다. "확정 출금 가능" 필드의 산식을 개선하고, UI에 세부 라인을 추가해서 투명성을 높이는 작업이었다.

정산 금액 산식, 왜 다시 봤나

이커머스 정산 시스템에서 가맹점이 언제 돈을 빼갈 수 있는지는 매우 예민한 부분이다. 단순히 "매출액 - 수수료"가 아니라, 여러 상태의 주문(완료, 취소, 환불 대기, 분쟁 중)을 고려해야 하고, 정산 주기(일별/주별/월별)에 따라 달라진다. 게다가 플랫폼의 정책(예: 환불 분쟁 기간 동안 해당 금액 묶기, 선입금 또는 후결제 모델 따라)에 따라 계산 방식이 유동적이다.

이번 작업은 그 산식을 재검토하고 정확하게 다시 정의한 것 같다. 특히 "확정 출금 가능"이라는 필드가 있다는 건, 단순 잔액과 출금 가능액을 구분한다는 뜻이다. 예를 들어 총 매출이 100만 원이어도, 환불 대기 중인 20만 원을 제외하고 80만 원만 출금 가능한 상황이 발생한다. 이런 세분화된 상태 관리가 없으면 가맹점이 자신의 실제 가용 자금을 파악하기 어렵고, 운영팀도 부정 행위 여부를 추적하기 복잡해진다.

sub-line 추가로 명세를 투명하게

UI에 sub-line을 추가했다는 건, 단순히 한 개의 숫자를 표시하던 것에서 벗어나 구성 요소를 드릴다운하는 식으로 변경했다는 뜻이다. 예를 들면:

확정 출금 가능: 800,000원
  ├─ 완료 건 누적: 950,000원
  ├─ 환불 진행 중: -150,000원
  └─ 정산 보류: 0원

이런 식으로 세부를 펼쳐 보여주면, 가맹점 입장에서 왜 자신이 기대한 금액과 다른지 한눈에 파악할 수 있다. 이전에 최종 숫자만 던져줬을 때는 불만 전화가 자주 들어왔을 텐데, 이제는 "아, 내 환불 요청이 진행 중이라 이 부분이 빠진 거구나" 하고 이해할 수 있게 된 것이다.

이건 단순한 UI 개선이 아니라 가맹점-플랫폼 간 신뢰도 증가로 이어진다. 정산 문제는 돈이 오가는 영역이라 투명성이 최우선이기 때문이다.

산식 변경의 리스크 포인트

정산 관련 로직을 수정할 때는 항상 신중해야 한다. 한 글자 실수가 수천 건의 거래를 잘못 정산할 수 있기 때문이다. 이번 산식 업데이트 후에는:

  • 기존 데이터 재계산이 필요한지 여부 (소급 적용 vs. 신규 정산부터만)
  • 각 정산 상태별 테스트 케이스 (완료, 취소, 환불, 분쟁)
  • 통합 테스트 단계에서 샘플 데이터로 검증
  • 실제 운영 환경 반영 전 스테이징에서 가맹점 계정으로 실제 시뮬레이션

이런 체크리스트를 빠뜨리면, 배포 후 일부 가맹점이 잘못된 정산액을 받게 되고 이를 바로잡는 데 인력과 시간이 많이 소요된다.

마치며

정산 시스템의 개선은 눈에 띄는 기능 추가는 아니지만, 플랫폼의 신뢰성과 가맹점의 만족도를 직결시킨다. 투명한 산식과 명확한 UI 표현이 분쟁을 사전에 막고, 운영팀의 CS 부담도 덜어준다. 금융 관련 로직일수록 이런 "지루한 정확성"이 얼마나 중요한지 다시 한번 느꼈다.

댓글 0

첫 댓글 달아줘.