[리퍼럴 PR4] 진단 크레딧 개인 구매 (PG 결제, 3,000원)
ID: c6421e9d-1e07-44e8-8c61-2e92776a88ba
## 설명
개인이 진단 크레딧을 직접 구매할 수 있는 PG 결제 플로우.
### 구현
1. **Payments::DiagnosisCreditPurchaseService**
- prepare_checkout!: Payment(pending) 생성, Toss Payments 연동
- complete_purchase!: diagnosis_balance += quantity
2. **DiagnosisCreditsController**: 구매 페이지, 결제 요청
3. **ConfirmationService 수정**: diagnosis_credit 결제 타입 후처리 추가
4. **Product seed**: diagnosis_credit_1 (3,000원)
5. **라우트 추가**
### 가격
- 1크레딧 = 3,000원 (VAT 포함)
- 기존 Toss Payments 인프라 재사용
## 완료 기준
- [ ] 진단 크레딧 구매 → PG 결제 → diagnosis_balance 증가
- [ ] 결제 실패 시 롤백
- [ ] Product seed 데이터
- [ ] 테스트 통과
## 의존성
PR#1 완료 후 (PR#2, #3과 병렬 가능)
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
서브 티켓 (1/1 완료)
활동 로그
-
팀팀리드 상태 변경: 리뷰 → 완료
2026년 03월 26일 06:35:36
-
팀팀리드 팀 작업 완료 - [리퍼럴 PR4] 진단 크레딧 구매
2026년 03월 26일 06:01:33
상세 보기
## 수정된 기능
- DiagnosisCreditPurchaseService: 3,000원/크레딧, Toss Payments 연동
- Payment 모델: diagnosis_credit 타입 추가
- ConfirmationService: 결제 완료 후 자동 크레딧 지급
- DiagnosisCreditsController: 구매 페이지 + checkout 연동
- 라우트 추가## 테스트 결과
- 18 runs 통과 (서비스 12 + 컨트롤러 6)## 기술적 결정
- 멱등성: metadata.credits_added 플래그로 중복 방지
- VAT 10% 포함 처리 -
팀팀리드 상태 변경: 진행 중 → 리뷰
2026년 03월 26일 06:01:28
-
팀팀리드 위임: developer-1에게 '진단 크레딧 구매 서비스 + 컨트롤러 + 라우트' 작업 배정
2026년 03월 26일 05:56:43
-
팀팀리드 티켓 클레임 완료
2026년 03월 26일 05:56:19
-
팀팀리드 상태 변경: 할 일 → 백로그
2026년 03월 26일 05:28:21