Skip to content

[FEAT] 정산 통계에서 환불(Refunded) 거래 분리 표시 (#485 follow-up) #488

@minij02

Description

@minij02

✨ 기능 설명

#485에서 환불 시 Payment.status / Settlement.statusRefunded로 전이시켰으나, 정산 통계(/sales/monthly, /yearly) 응답이 status 무관 단순 합계라 환불 거래가 매출/정산 금액에 부풀려 포함됨. 통계에서 환불을 분리해 정확한 net 정산 금액을 노출.

✨ 결정 사항 (확정)

  • 옵션 A: 통계 정정만 (정산 차감/환수 자동화는 별도 이슈)
  • 환수 회계/지급이체 차감 로직은 Payple 지급이체 API 명세 받은 후 별도 진행

✨ 개발 목록

GET /api/settlements/yearly

  • aggregateYearlyTotals 쿼리 수정:
    • succeeded_amount = SUM(amount WHERE status=Succeed) — Refunded 제외
    • refunded_amount 신규 컬럼 = SUM(amount WHERE status=Refunded)
    • refunded_count 신규 컬럼
    • total_settled = net (Succeed - Refunded 또는 Succeed만, 결정)
  • DTO에 refunded_amount, refunded_count 추가

GET /api/settlements/sales/monthly

  • summary에 refunded_count, refunded_amount 추가
  • items의 status는 그대로 Refunded 표시 (프론트에서 모달/뱃지 처리)

/pending-amount

  • 변경 없음 (이미 status='Pending'만 필터)

Swagger / 검증

  • 신규 응답 필드 명세
  • pnpm build / pnpm tsc --noEmit

✨ 별도 이슈로 분리 (본 PR 범위 밖)

  • 환불 → 정산 차감 자동화 (Payple 지급이체 API 활용)
  • SettlementAdjustment 또는 환수 추적 컬럼
  • 판매자 환불 알림 / 환수 리포트

✨ 기타 / 질문

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions