## 어떤 기능인가요? 학생회비 납부 사용자·관리자 API를 바뀐 납부 흐름(남은 학기 수·학점이수현황 캡처 → 토스 송금 → 납부 요청 한 번)에 맞춰 개편한다. 스택 PR #124 → #126 → #154 → #155 → #156 → #159로 나눠 올렸던 작업을, 리뷰 요청에 따라 최종 상태 기준 PR 하나로 합친다. 기존 이슈 #123, #125, #150, #151, #152, #153을 이 이슈로 통합한다. ## 📝 작업 상세 내용 - [ ] 학점이수현황 캡처 파일 카테고리(`FEE_TRANSCRIPT_IMAGE`)와 파일 키 조회 추가 - [ ] 납부 요청에 남은 학기 수·캡처 키·요청 시점 금액·관리자 안내 문구·요청 시각 저장 - [ ] 납부 상태를 `PENDING` / `PAID` / `REJECTED`로 정리 (미납부 = 요청 없음) - [ ] 납부 요청을 요청당 한 행 이력으로 쌓고, 회원의 현재 상태는 최신 요청으로 판단 - [ ] 진행 중·완료 요청은 회원당 하나만 허용 (동시 요청 409) - [ ] 사용자 API: 남은 학기 수로 금액·송금 링크 조회, 학기 인증과 송금 완료를 한 번에 요청, 반려 시 재납부 - [ ] 관리자 API: 납부자 목록 응답 확장, 처리한 건 재변경·확인필요 안내 문구, 최신 요청만 처리, 계좌·학기당 회비 조회·변경 통합 - [ ] 운영진 처리로 납부 여부가 바뀌면 아웃박스에 `MemberFeePaid` / `MemberFeePaymentCanceled` 기록 ## 📁 참고 자료 (선택) - 대체하는 PR: #124, #126, #154, #155, #156, #159 - 후속: member PR — `members.is_fee_paid` 컬럼 · 리스너 · 백필
Activity