정산/환불 정책 및 검증 기준¶
작성일: 2026-05-05 최근 확인: 2026-05-06 클라이언트 답변 반영
이 문서는 사용자가 전달한 정산/환불 문서와 현재 코드 구현을 대조해, 이후 개발 및 QA의 기준으로 쓰기 위한 작업 문서다. 아래 확인 필요 항목은 아직 확정 정책으로 보지 않는다.
참고 소스¶
- 사용자 제공 문서: 현재 대화의 정산관리, 강사 정산 정책, 환불 모달, 환불 3분기 분기, 환불 저장/로그, 결제내역 QA, 강사정산 계산법
- 기존 작업 문서:
docs/qa-analysis/refund-auto-logic-plan.mddocs/qa-analysis/refund-modal-plan.mddocs/qa-analysis/admin-refund-management-plan.md- 코드 기준:
backend/prisma/schema.prismabackend/src/controllers/refund.controller.jsbackend/src/controllers/settlement.controller.jsbackend/src/utils/settlementUtils.jsbackend/src/services/attendance-scheduler.service.jsbackend/src/controllers/payment.controller.jsfrontend/src/views/admin/RefundManagement.vuefrontend/src/views/admin/SettlementManagement.vuefrontend/src/views/user/shared/SharedPayment.vuefrontend/src/components/common/RefundModal.vuefrontend/src/components/common/PaymentItem.vue
확정 정책¶
1. 강사 정산 상태¶
정산 상태 흐름은 다음 순서를 기준으로 한다.
정산보류 -> 정산대상 -> 지급대기 -> 지급완료
정산보류: 결제 및 매칭 완료 후, 환불 가능 기간으로 금액이 아직 확정되지 않은 상태정산대상: 컨설팅 전체 횟수의 1/3 이상 진행되어 환불 불가 상태로 전환되고 정산 대상에 포함된 상태지급대기: 운영진이 정산확정 처리를 완료하여 금액이 확정/락된 상태지급완료: 익월 15일 지급이 완료된 상태
보류 예외 상태로 지급보류가 코드에 존재한다.
2. 정산 대상 자동 전환¶
- 컨설팅 전체 횟수의 1/3 이상 진행되면 자동으로
정산대상이 된다. - 1/3 계산은 소수점 발생 시 올림한다.
- 예: 6회 컨설팅은 2회 이상, 8회 컨설팅은 3회 이상이면 1/3 이상으로 본다.
- 사전 합의 없는 무단 결석 2회는 진행 1회로 인정한다.
3. 정산 확정 및 지급¶
- 정산확정은 운영진이 어드민에서 수동으로 처리한다.
- 정산확정 결과는
지급대기이며, 금액은 확정/락된다. - 정산일은 실제 지급일이며 익월 15일이다.
- 정산확정일은 지급을 위해 금액을 확정하는 시점이며, 정산일 기준 5~7영업일 전까지 유동적으로 진행한다.
- 지급 완료는 익월 15일에 처리한다.
4. 정산관리 화면 요구사항¶
상단 전체 정산 요약 영역은 모든 강사 합산 기준으로 다음을 보여야 한다.
- 정산월 기준 환불 반영 총액
- 정산월 기준 환불 건수
- 정산월 기준 환불률
강사별 정산 내역 테이블은 강사 1명 단위로 다음을 보여야 한다.
- 강사별 환불 반영 금액
- 강사별 환불 반영 건수
- 환불 반영 있음/없음 표시
강사 정산 상세 화면은 정산에 포함된 환불 내역 목록을 보여야 한다.
- 환불 발생일
- 환불 금액
- 연관 주문/학생
- 강사 정산 차감 금액
- 반영된 정산월
5. 환불 버튼 클릭 시 기본 분기¶
환불 버튼 클릭 시 시스템이 먼저 상품 유형과 사용/진행 상태를 자동 점검하고 3가지로 분기한다.
| 분기 | 조건 | 처리 | 어드민 개입 |
|---|---|---|---|
| 자동 환불 가능 | AI 리포트 미사용 + 7일 이내, 또는 컨설팅 0회 진행 + 공제 없음 + 무료 AI 리포트 미사용 | 환불 처리 중 후 PG 자동 환불, 성공 시 환불 완료 |
없음 |
| 환불 불가 | AI 리포트 사용 이력 있음, AI 리포트 결제 후 7일 초과, 컨설팅 1/3 이상 진행 | 즉시 환불 불가 모달, 상태 변화 없음 | 없음 |
| 컨설팅 공제 환불 | 컨설팅 1/3 미만 진행이지만 진행 인정 회차 또는 무료 AI 리포트 사용으로 공제 발생 | 환불 대기, 어드민 승인 후 PG 환불 |
필요 |
6. AI 리포트/이용권 환불¶
- 분석 실행 버튼을 1회라도 눌렀으면 환불 불가다.
- 분석 실행 이력이 없고 결제 후 7일 이내면 자동 환불 대상이다.
- 리포트 이용권 환불은 어드민 승인 없이 시스템에서 이용권 사용 여부를 확인 후 자동 처리한다.
- 완료 시 상태는
환불 완료다.
7. 컨설팅 환불¶
진행 인정 회차 산정 기준:
- 실제 진행 완료 회차를 집계한다.
- 무단 결석은 2회마다 진행 1회로 인정한다.
- 최종 진행 인정 회차가 총 컨설팅 횟수의 1/3 이상이면 환불 불가다.
환불 가능/불가 기준:
- 진행 인정 회차가 0회이고 공제 금액이 없으면 자동 환불 대상이다.
- 컨설팅은 결제 후 7일이 지나도 수강 이력이 없고 리포트를 쓰지 않았으면 환불 가능하다.
- 진행 인정 회차가 1/3 미만이면 부분 환불 대상이다.
- 진행 인정 회차가 1/3 이상이면 환불 불가다.
컨설팅 공제 환불 시 어드민에 전달되어야 할 계산 항목:
- 총 컨설팅 횟수
- 진행 인정 회차
- 회당 단가
- 컨설팅 공제 금액
- 리포트 공제 여부
- 최종 환불 예정 금액
8. 환불 모달 UX¶
환불 가능한 경우에만 환불 신청 폼이 노출된다.
- 컨설팅 환불은 환불 사유 입력란이 필수다.
- 리포트 이용권 환불은 환불 사유 입력란을 노출하지 않는다.
- 환불 수단은 선택 불가이며 결제 수단 기준으로 자동 설정한다.
- 체크박스 UI는 유지하되, 선택되지 않은 환불 수단은 disabled 처리한다.
- 안내 문구에 다음 문장을 포함한다:
※ 환불은 결제 수단과 동일한 방식으로 처리됩니다.
결제 수단별 환불 수단:
- 카드 결제: 카드 환불만 활성
- 계좌이체/현금 결제: 현금 환불만 활성, 계좌 입력 영역 노출
- 포인트 결제: 포인트 환불만 활성
현금 환불 계좌 입력 필수값:
- 은행명
- 계좌번호
- 예금주
9. 환불 상태¶
사용자 제공 문서의 최종 상태 단계:
환불 대기 -> 환불 처리 중 -> 환불 완료
환불 불가
상태 의미:
환불 대기: 관리자 확인 필요 상태, 공제가 있을 때 사용환불 처리 중: PG 요청 완료 또는 PG 처리 중 상태환불 완료: PG 환불 완료 상태환불 불가: 시스템 조건 미충족 또는 관리자 검토 결과 환불 불가 확정
시스템이 조건 미충족으로 즉시 차단하는 환불 불가 케이스는 DB에 환불 요청 기록을 만들지 않고, 사용자에게 모달만 표시한다. 어드민 검토 후 반려하는 케이스는 환불 요청 기록을 남기고 rejected 상태로 관리한다.
10. 환불 신청 취소¶
- 컨설팅 환불이
환불 대기상태일 때, 어드민이 승인하기 전에는 학생 화면에환불신청 취소버튼이 있어야 한다. - 취소는
환불 대기상태에서만 가능하다.
11. 환불 요청 저장 및 로그¶
환불 요청 시 다음 정보를 저장해야 한다.
- 주문번호
- 사용자 ID
- 상품 유형
- 결제금액
컨설팅 진행 상태 스냅샷:
- 총 회차
- 진행 완료 회차
- 잔여 회차
이용권 사용 상태 스냅샷:
- 사용 여부
- 사용 횟수
금액 로그:
- 시스템 계산 환불금
- 어드민 최종 승인 환불금
- 어드민 수정 전/후 환불금
- 수정 사유 메모
- 수정한 관리자 계정
- 수정 시각
PG 처리 결과:
- PG 요청 금액
- PG 성공/실패 여부
- PG 응답 코드
- PG 응답 메시지
- PG 거래키
- PG 요청/완료 시각
환불 예상일은 별도 계산해서 보여주지 않는다. 사용자 화면에는 결제 수단에 따라 3~5영업일이 소요될 수 있다는 안내 문구를 사용한다.
중요: 스냅샷 값은 환불 요청 당시 기준으로 복사 저장해야 하며, 이후 회차나 사용 횟수가 바뀌어도 환불 요청 기록의 기준값은 바뀌면 안 된다.
12. 강사 정산 계산법¶
환불 없이 컨설팅을 정상 완료한 경우:
강사정산금 = 총결제금액 * (1 - 수수료율)
현재 정책(초기 강사 유입 단계)에서는 컨설팅 환불이 발생해도 강사 정산 시 사전 AI 분석 리포트 금액을 별도 공제하지 않는다.
컨설팅 환불 발생 시:
강사정산금 = (총결제금액 / 총컨설팅횟수 * 실제진행횟수) * (1 - 수수료율)
학생 유입 및 강사 확보가 안정화된 이후 정책 전환 시에는 환불 로직과 동일하게 사전 분석 리포트 금액을 선공제한 뒤 수수료를 정산한다.
강사정산금 = ((총결제금액 - 리포트비용) / 총컨설팅횟수 * 실제진행횟수) * (1 - 수수료율)
사전분석 리포트 공제 금액은 학생 환불금 산정에서는 항상 실제 사용한 사전분석 이용권의 리포트 유형 기준으로 계산한다.
- 생기부 분석 리포트: 59,000원
- 실기 분석 리포트: 29,000원
무료 사전 분석 이용권은 학생이 준비 전형에 맞춰 생기부/실기 및 수시/정시 중 선택해 1회 사용할 수 있다. 환불금 산정에서는 실제 사용한 리포트 유형 기준으로 생기부 또는 실기 리포트 금액을 공제한다.
13. 쿠폰 적용 결제 환불¶
- 쿠폰을 사용한 주문은 쿠폰 할인 후 실제 결제금액 기준으로 환불/정산을 계산한다.
- 환불 완료 시 사용했던 쿠폰은 유저에게 그대로 복구한다.
- 복구된 쿠폰은 사용하지 않은 상태로 돌아가야 한다.
14. 컨설팅 공제 환불 사용자 안내¶
컨설팅 부분 환불처럼 공제가 발생하는 케이스는 학생에게 예상 환불 금액과 공제 내역을 보여준다.
안내 문구:
사전 분석 리포트 이용권을 사용하신 경우,
리포트 1회 이용 금액이 공제된 후,
실제 진행된 컨설팅 횟수를 기준으로 환불 금액이 산정됩니다.
표시 형식:
예상 환불 금액: 90,000원
[공제 내역]
- 사전 분석 리포트: -30,000원
- 컨설팅 진행 1회: -20,000원
* 최종 환불 금액은 관리자 확인 후 확정됩니다.
위 금액은 예시이며, 실제 화면에서는 시스템 계산값을 표시한다.
15. 어드민 정산관리 환불률¶
어드민 정산관리에서는 환불률을 금액 기준으로 계산한다. 건수 기준으로 계산하지 않는다.
전체 환불률:
전체 환불률 = 전체 환불 금액 / 전체 매출 * 100
- 전체 환불 금액은 리포트 환불과 컨설팅 환불을 모두 포함한다.
- 전체 매출도 리포트 매출과 컨설팅 매출을 모두 포함한다.
강사별 환불률:
강사별 환불률 = 해당 강사 컨설팅 환불 금액 / 해당 강사 컨설팅 매출 * 100
- 강사별 환불률 계산 시 리포트 금액은 제외한다.
- 여기서 제외하는 리포트 금액은 컨설팅 사전분석 리포트 값이다.
- 사전분석 리포트는 회사 매출이며 강사 정산과 무관하기 때문이다.
- 다음 매칭/정산 계산 때 고려해야 한다.
16. 강사 마이페이지 정산관리 환불 지표¶
강사 마이페이지 정산관리에는 환불률을 노출하지 않아도 된다.
강사 마이페이지에는 다음 구조로 환불 지표를 노출한다.
- 환불 건수
- 환불 금액
- 누적 총 환불 건수
확인 필요¶
현재 없음.
현재 구현 대조¶
백엔드 상태¶
backend/prisma/schema.prisma
RefundStatus:requested,processing,approved,rejected,completed,cancelledSettlementStatus:pending,eligible,confirmed,completed,holdRefund모델은 주문/결제/신청자/환불금/사유/상태/계좌/rawData를 가진다.Settlement모델은refundAmount,bookingSnapshot을 가진다.ClassBooking모델은progressCount,unexcusedAbsenceCount,settlementStatus,eligibleAt,settlementId를 가진다.UsageCredit모델은productName,category,usedCount,remainingCount,allowEarlyReport,allowRegularReport를 가진다.
backend/src/services/attendance-scheduler.service.js
Math.ceil(totalSessions / 3)기준으로pending -> eligible자동 전환한다.- 출석 1회는 진행 1회로 계산한다.
- 결석 2회는 진행 1회로 계산하고, 남은 결석 1회는
unexcusedAbsenceCount로 저장한다.
backend/src/controllers/refund.controller.js
- AI 리포트/이용권은
UsageCredit.usedCount > 0이면 환불 불가다. - AI 리포트/이용권은 결제 후 7일 초과면 환불 불가다.
- 컨설팅은 booking
settlementStatus가eligible,confirmed,completed이면 환불 불가다. - 컨설팅 환불 금액은
총결제금액 - 리포트 공제 - 진행분으로 계산한다. - 컨설팅 0회 진행 + 리포트 미사용이면 자동 환불로 처리한다.
- 공제 발생 컨설팅 환불은
requested로 저장하고 관리자 승인 대기 상태가 된다. - 학생 환불신청 취소 API가 있으며
requested상태만 취소 가능하다. - 어드민 승인 시
adjustedAmount,adjustReason으로 최종 환불금 수정이 가능하다.
backend/src/utils/settlementUtils.js
- 환불 없는 정상 완료는 총결제금액 기준 정산한다.
- 현재 정책에서는 환불 발생 시에도 강사 정산에서 사전분석 리포트 비용을 별도 공제하지 않는다.
- 환불 발생 시 총결제금액을 회차로 나누어 진행 회차 기준으로 강사 정산금을 계산한다.
- 추후 정책 전환 시
reportDeductionPolicy를 바꿔 리포트 비용 선공제 정산으로 전환할 수 있어야 한다. - 리포트 공제 금액은 학생 환불금 산정과 강사별 환불률 분모 계산에 사용하며, 사용한 사전분석 이용권의 유형을 기준으로 생기부 59,000원, 실기 29,000원을 적용한다.
backend/src/controllers/settlement.controller.js
- 어드민 정산 목록은 리포트 매출, 컨설팅 매출, 총 매출을 분리해 반환한다.
- 어드민 정산 목록은 리포트 환불 금액, 컨설팅 환불 금액, 총 환불 금액을 분리해 반환한다.
- 전체 환불률은 총 환불 금액 / 총 매출 기준으로 계산한다.
- 강사별 정산 내역에
refundAmount,refundCount, 환불 반영 여부 표시가 가능하다. - 정산 상세는 환불/분쟁 목록, 환불일, 학생, 강의, 환불금액, 차감금액, 정산월, 사유를 반환한다.
- 정산 확정은
pending/eligible에서confirmed로 전환한다. - 지급 완료는 예정 지급일 이후에만
completed로 전환한다.
프론트 상태¶
frontend/src/views/user/shared/SharedPayment.vue
- 마이페이지 결제내역을
/payments/my에서 가져온다. - AI 리포트/이용권과 컨설팅 결제를 탭으로 나눈다.
- 환불 가능 여부가 false면 환불 불가 모달을 먼저 보여준다.
- 환불 가능하면
RefundModal을 열고/refunds로 요청한다. requested상태의 환불은환불신청 취소버튼을 통해/refunds/:id/cancel을 호출한다.
frontend/src/components/common/RefundModal.vue
- 환불 수단은 결제수단 기준으로 자동 설정한다.
- 카드/현금/포인트 체크박스 UI를 유지하고 선택 불가 항목을 disabled 처리한다.
- 컨설팅 환불 사유는 필수다.
- 현금 환불은 은행명/계좌번호/예금주가 필수다.
- 리포트 모달에는 사용 횟수 표시 영역이 있다.
frontend/src/components/common/PaymentItem.vue
requested상태는환불 처리 중과환불신청 취소버튼을 표시한다.processing/approved는 환불 처리 중으로 표시한다.completed는 환불 완료로 표시한다.rejected는 반려됨으로 표시한다.
frontend/src/views/admin/RefundManagement.vue
- 어드민 환불관리 탭은 전체/환불 가능/환불 불가/환불처리완료 구조다.
- 목록은 결제일/신청일, 진행/사용, 환불금액, 환불 가능 여부, 상태를 표시한다.
- 상세 모달은 주문정보, 결제정보, 환불 신청 정보, 진행/사용 현황, 금액 계산, PG 상태를 표시한다.
requested상태에서 금액 수정 후 승인/반려가 가능하다.
frontend/src/views/admin/SettlementManagement.vue
- 정산관리 상단에 기존 매출/정산 통계와 환불 통계 카드가 있다.
- 테이블에는 환불차감, 환불건수, 환불반영 여부가 있다.
- 상세 모달에는 정산 정보, 환불 내역, 예약 내역이 있다.
현재 구현의 주요 갭¶
- 환불 요청 스냅샷/로그가 구조화되어 있지 않다.
- 현재는 일부 계산값이
Refund.rawData에 들어간다. -
상품 유형, 결제금액, 총 회차, 진행 완료 회차, 잔여 회차, 사용 여부, 사용 횟수, 시스템 계산 환불금, 어드민 최종 환불금, PG 요청 금액/성공여부/응답코드가 모두 별도 필드로 남지는 않는다.
-
rejectRefund가 기존rawData를 덮어쓴다. - 반려 처리 시
rawData: { rejectionReason }로 업데이트한다. -
기존 계산 스냅샷이 있었다면 유실될 수 있다.
-
기존 데이터 중 사전분석권
category가 비어 있는 사용 건은 실제 사용 리포트 유형 식별에 한계가 있다. - 신규 사용 건은 분석 실행 시 사용한
reportCategory를UsageCredit.category에 기록한다. -
과거 사용 건 중
category가 비어 있으면 현재 기본값인 생기부 59,000원으로 계산한다. -
AI 리포트 환불 미리보기는 사용 횟수/7일 체크를 하지 않는다.
/refunds/calculate/:orderId에서 컨설팅이 아닌 주문은 전액 환불 가능 메시지를 반환한다.-
실제 신청 API는 사용 횟수/7일을 다시 막지만, 미리보기 단계 메시지가 정책과 다를 수 있다.
-
마이페이지 결제내역의 이용권 제목에 수시/정시 구분이 붙지 않는다.
- 현재 title은
usageCredits[0].productName위주다. -
백엔드 응답에는
allowEarlyReport,allowRegularReport,category가 있으므로 프론트에서수시,정시,수시·정시라벨 조합이 가능하다. -
리포트 환불 모달의 사용 횟수가 0으로 보일 수 있다.
RefundModal은payment.usedCount를 표시한다.SharedPayment.vue의formatAnalysisPayment가usageCredits[0].usedCount를usedCount로 넘기지 않는다.-
사용했는데도 환불 신청이 받아지는 문제는 별도 QA가 필요하다.
UsageCredit.usedCount는aiReport.controller.js와ticket.controller.js에서 증가 로직이 있으나, 실제 분석 플로우가 결제내역의 같은UsageCredit을 쓰는지 확인해야 한다. -
정산관리 상단 환불 건수 기준이 다를 수 있다.
- 현재
totalRefundCount는 환불이 있는 정산 row 수에 가깝다. -
사용자 요구는 정산월에 반영된 전체 환불 건수다.
-
정산 상세의
차감금액이 실제 강사 정산 차감액과 다를 수 있다. - 현재 환불 리스트의
deductionAmount는 환불금액과 동일하게 세팅된다. -
사용자 요구의
강사 정산 차감 금액은 환불금액이 아니라 강사 정산금 감소분일 가능성이 있다. -
어드민 승인 후
processing상태가 실질적으로 오래 유지되지 않는다. - 현재 승인 요청 안에서
approved후 PG 취소가 성공하면 곧바로completed로 바뀐다. -
PG 요청 완료 후 비동기 완료를 기다리는 구조라면 상태/웹훅 저장 설계를 보강해야 한다.
-
어드민 승인 시 컨설팅 진행률 재검증이 약하다.
- 승인 전 이용권 사용 재검증은 있다.
- 컨설팅이 환불 요청 이후 1/3 이상으로 바뀐 경우를 승인 시점에 다시 차단하는 로직은 명확하지 않다.
-
정산확정 5~7영업일 전 정책은 안내만 있고 강제되지 않는다.
- 지급 완료는 익월 15일 이후만 가능하도록 막는다.
- 정산확정 자체는 날짜 제한 없이 가능하다.
-
PG 처리 결과 저장이 부족하다.
refundKey정도만 저장된다.- PG 요청 금액, 성공/실패 여부, 응답 코드, 응답 메시지, 거래키, 요청/완료 시각을 별도 보존하지 않는다.
-
마이페이지 환불 상태 라벨 조정이 필요하다.
- 정책상
requested는환불 대기,processing은환불 처리 중이다. - 현재
PaymentItem.vue는requested상태를환불 처리 중으로 표시한다.
- 정책상
-
환불 불가탭 의미를 정책에 맞게 고정해야 한다.- 시스템 차단 환불은 Refund 레코드를 만들지 않으므로 어드민 목록에 나오지 않는 것이 정책이다.
- 어드민에서 반려한
rejected건만 환불 불가/반려 성격의 목록에 표시해야 한다.
개발 우선순위 제안¶
- 남은
확인 필요2개를 먼저 확정한다. - 마이페이지 결제내역 표시 버그부터 수정한다.
- 이용권 제목에 수시/정시 라벨 추가
- 리포트 환불 모달
usedCount전달 requested상태 라벨을환불 대기로 조정- 컨설팅 공제 환불 화면에 예상 환불 금액과 공제 내역을 표시한다.
- 환불 요청 스냅샷/금액 로그/PG 로그 저장 구조를 보강한다.
- 쿠폰 환불 시 실제 결제금액 기준 계산 및 쿠폰 복구를 구현한다.
- 정산관리 환불 건수/차감금액/환불률 기준을 실제 요구에 맞게 수정한다.
- 어드민 환불 승인 시점 재검증과 PG 상태 보존을 보강한다.
QA 체크리스트¶
환불 사용자 플로우¶
- AI 리포트 미사용 + 7일 이내: 환불 요청 시 자동 환불 안내, 상태
환불 처리 중또는환불 완료 - AI 리포트 사용 이력 있음: 환불 불가 모달, Refund 레코드 생성 없음
- AI 리포트 결제 후 7일 초과: 환불 불가 모달, Refund 레코드 생성 없음
- 리포트 환불 모달: 사용 횟수가 실제
UsageCredit.usedCount와 일치 - 리포트 결제내역 제목: 수시/정시 구분 표시
- 컨설팅 0회 진행 + 리포트 미사용: 결제 후 7일이 지나도 자동 환불 가능
- 컨설팅 1/3 미만 진행 + 진행 회차 있음: 환불 대기, 사용자에게 공제 가능 안내
- 컨설팅 1/3 미만 진행 + 무료 리포트 사용: 환불 대기, 어드민에 리포트 공제 내역 전달
- 컨설팅 공제 환불 모달: 예상 환불 금액과 공제 내역 표시
- 컨설팅 공제 환불 모달:
* 최종 환불 금액은 관리자 확인 후 확정됩니다.문구 표시 - 컨설팅 1/3 이상 진행: 환불 불가 모달, Refund 레코드 생성 없음
- 환불 대기 상태:
환불 대기라벨과환불신청 취소버튼 표시 및 취소 성공 - 환불 처리 중/완료 상태: 환불신청 취소 불가
- 쿠폰 사용 주문 환불 완료: 사용한 쿠폰이 유저에게 미사용 상태로 복구
어드민 환불관리¶
- 목록 탭: 전체/환불 가능/환불 불가/환불처리완료가 정책대로 필터링
- 목록: 결제일/신청일/경과일, 진행 회차 또는 사용 횟수 표시
- 상세: 주문정보, 결제정보, 환불사유, 환불수단, 진행/사용 현황 표시
- 상세: 시스템 계산 환불금과 어드민 최종 승인 환불금 구분
- 상세: 금액 수정 승인 시 수정 전/후 금액과 수정 사유 저장
- 반려: 기존 계산 rawData 유실 없음
- PG 실패: PG 실패 상태/코드/응답 메시지/거래키 저장 및 관리자 확인 가능
- 환불 예상일: 별도 날짜 계산 없이 3~5영업일 안내 문구만 표시
정산관리¶
- 상단: 정산월 기준 환불 반영 총액이 정산 데이터와 일치
- 상단: 정산월 기준 환불 건수가 환불 row 수 기준으로 일치
- 상단: 리포트 매출, 컨설팅 매출, 총 매출이 분리되어 표시됨
- 상단: 리포트 환불 금액, 컨설팅 환불 금액, 총 환불 금액이 분리되어 표시됨
- 상단: 전체 환불률은 전체 환불 금액 / 전체 매출 기준이며 리포트와 컨설팅을 모두 포함
- 테이블: 강사별 환불률은 강사 컨설팅 환불 금액 / 강사 컨설팅 매출 기준이며 사전분석 리포트 금액 제외
- 테이블: 강사별 환불 반영 금액/건수 표시
- 테이블: 환불 반영 있음/없음 표시
- 상세: 환불 발생일, 환불 금액, 주문/학생, 강사 정산 차감 금액, 정산월 표시
- 환불 발생: 현재 정책에서는 리포트 비용 차감 없이 진행 회차 기준 정산
- 향후 정책 전환 시: 리포트 비용 선차감 후 진행 회차 기준 정산
- 환불 없음 + 완료: 총결제금액 기준 정산
- 정산확정 후 환불 요청 차단
- 지급완료는 익월 15일 이전 처리 불가