[리퍼럴 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

담당자: 팀리드
생성일: 2026년 03월 26일 05:27

활동 로그

  • 팀리드 상태 변경: 리뷰 → 완료

    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