-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
📌 Description
추가하려는 기능에 대해 설명해주세요.
기존 멤버십 업그레이드 외에 구독 활성화/해지 기능을 추가
✅ To-do
- 구독 해지 API
- PATCH /api/v1/membership/cancel 엔드포인트 생성
- subscription_expire_date는 유지 (기간 만료까지 사용 가능)
- auto_renewal: bool = False 플래그 추가 (선택사항)
- 응답: 해지 완료 메시지 + 남은 사용 기간
- 구독 갱신 API
- PATCH /api/v1/membership/renew 엔드포인트 생성
- 현재 만료일 기준으로 +30일 연장
- 결제 이력 생성
- 결제 트랜잭션 처리 강화
- MembershipService.upgrade_membership에 트랜잭션 보장
- 이미 await db.commit() 사용 중 ✅
- 실패 시 롤백 처리 추가
try:
# User 업데이트
# PaymentHistory 생성
await db.commit()
except Exception as e:
await db.rollback()
raise- 자동 만료 처리 (선택사항)
- 스케줄러 또는 배치 작업으로 만료된 구독 처리
- subscription_expire_date < now() 인 사용자를 FREE로 변경
- 또는 API 요청 시마다 확인하는 미들웨어 구현
- 구독 상태 조회 개선
- 기존 GET /api/v1/membership/info에 필드 추가
- days_remaining: int (남은 일수)
- auto_renewal: bool (자동 갱신 여부)
🔔 ETC
질문이나 참고사항 또는 참고한 자료 등을 알려주세요 (선택사항)
Reactions are currently unavailable