release · 티츄온라인 · current
v2.5.0 · 2026.05.19
인앱 결제(IAP)와 골드 시스템을 정식으로 얹은 메이저 릴리즈입니다. 클라이언트 결제 흐름, 서버 영수증 검증, 환불 자동화, 약관·법적 페이지, 어드민 관리 도구까지 결제 파이프라인을 통째로 갖췄습니다. iOS 는 StoreKit 2 / App Store Server 모델로 이전했습니다.
Added
- 인앱 결제(IAP) · 골드 충전 — 클라이언트 상점, 서버 영수증 검증 + 골드 지급 WS 핸들러, 골드 상품 스키마(tc_gold_products / tc_iap_receipts)
- 자동 환불 처리 — Apple App Store Server 웹훅 + Google voided polling, 환불문제 트리아지 큐, Apple CONSUMPTION_REQUEST 자동 회신
- 어드민 결제 도구 — 골드 상품 CRUD, 결제내역 탭(샌드박스/프로덕션 구분), 영수증 상세(raw_payload 감사 뷰), 검증로그(tc_iap_attempts), 수동 환불·골드 회수
- 어드민 대시보드 강화 — 결제 알림 · 매출 통계 · 오늘 결제 리스트 · Google voided 수동 폴링 버튼 · 실시간 서버 로그 뷰어(/tc-backstage/logs)
- 법적 페이지 — 공개 /privacy · /terms (스토어 심사 필수 URL) + 다국어 약관·개인정보처리방침 (ko · en · de)
- 전자상거래법 대응 — 결제 문의 카테고리 + 상점 사전고지 문구
Changed
- iOS 결제를 StoreKit 2 / App Store Server 모델로 이전 — JWS 트랜잭션 검증으로 전환, SK1 verifyReceipt 폴백은 완전 제거
- 계정바인딩을 서버발급 불변토큰으로 재설계 — 영수증↔계정 불일치 케이스를 거부+미완료+flag 로 분리해 정상 고객 손실 차단
- 골드 보너스 곡선 상향 — 기본 환율·가격은 고정한 상태에서 보너스 구간만 조정, UI/내역도 개편
- 프로필 최근전적 N+1 제거 — 게임별 캡 유지 + 인덱스 추가 + 배치 조회로 변환
- EULA·개인정보처리방침 보강 — 표기를 'TichuOnline' 으로 통일, 수집항목·제3자 제공·광고/분석 항목 명시 (ko/en/de)
Fixed
- 반복구매 미지급 — 영수증 내 모든 transaction 을 지급 대상으로 재처리
- 소비성 결제 영구손실 차단 — 검증 실패 시에도 트랜잭션을 finish 하지 않도록 보호 + macOS IAP 자체 차단
- 검증 응답 correlation key 도입 — 늦게 도착한 응답이 다른 거래를 교차완료하는 P1 회귀 차단
- 전역 IAP 리스너 회귀(P1) + SK2 영구거절 트랜잭션 무한재전달(P2b) 해소
- GPT 코드리뷰 지적 P1 4건 — 결제 ↔ 재화 지급 불일치 케이스 일괄 차단
- Sandbox 환불 회신 — consumption 호스트 선택을 대소문자 무시로 정정
- 도커 배포 — .env 만으로 IAP 키가 컨테이너에 전달되지 않던 문제, docker-compose 에 명시적 env 주입
- 영수증 상세 — refund_failed 오표기 정정, 미매칭 환불 가시화
- 프로필 팝업 — 게임 종료 시 자동 닫기 + 재연결 복구 경로 단일화