Conversation
- 7일 판정을 168시간 절대값에서 KST 날짜 기준(첫날 제외)으로 정정. 7/23 구매 시 7/30 23:59:59까지 신청 가능. - 정책 판정을 refund-policy 순수 함수로 분리해 단건/목록/수동신청이 공유. 경계값 자체 검증(refund-policy.check.ts) 추가. - 다운로드 목록에 refundable / refund_deadline / manual_refund_available / refund_status 노출 — FE가 항목마다 eligibility를 호출하지 않아도 되도록. - Refund에 status(REQUESTED/APPROVED/REJECTED/COMPLETED) 추가. 기존 자동 환불 레코드는 COMPLETED로 백필. - refunded_at을 nullable로 좁혀 신청 단계가 환불 완료로 오인되지 않게 함. 이에 맞춰 재다운로드 차단과 is_refunded를 확정 상태(APPROVED/COMPLETED)로 판정. - 열람 후 수동 환불 신청 API + 관리자 검토 API(목록/상세/승인/거절/수동완료) 추가. 상세 응답에 프롬프트 본문·설명을 실어 부실 여부를 판단할 수 있게 함. - 승인 후 Payple 취소 실패 시 승인을 롤백하지 않고 APPROVED에서 정지 + 실패 코드 기록. 롤백하면 카드사 취소 기간이 지난 건이 영영 환불 불가로 남기 때문. - 결제 요청에 refund_policy_agreed 필수화, 동의 시각을 Purchase에 기록.
[FEAT] 환불 정책 완성 — 7일 KST 기준 정정, 환불 가능 플래그, 열람 후 수동 환불 워크플로
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌 기능 설명
📌 구현 내용
📌 구현 결과
📌 논의하고 싶은 점