환불 정책 및 블랙리스트
문서 정보
- 작성일: 2026-04-14
- 버전: v1.0.0
인앱결제 환불은 Apple/Google이 직접 처리하며, 서버는 이미 발생한 환불을 사후에 처리할 뿐입니다. 환불 시 서버는 FIFO 방식으로 캐시를 회수하고, 회수하지 못한 부족분은 원화로 누적합니다. 누적 부족분이 10만원 이상이 되면 해당 전화번호는 블랙리스트에 등록되어 앱 사용이 전면 차단됩니다.
환불 절차
인앱결제 환불은 사용자가 Apple 또는 Google에 직접 요청합니다. 서버는 이 결정에 개입할 수 없습니다.
Apple/Google이 환불을 승인하면 사용자는 이미 돈을 돌려받습니다. 서버는 Webhook으로 "환불이 됐다"는 통보만 받을 뿐, 환불 자체를 막을 수 없습니다. 따라서 블랙리스트는 예방이 아닌 사후 추적 + 미래 이용 차단 목적입니다.
환불 처리 방식 (FIFO)
서버는 환불이 발생하면 FIFO(First In, First Out) 방식으로 캐시를 회수합니다.
FIFO란?
캐시는 충전된 순서대로 소비됩니다. 만료일이 가장 빠른 캐시부터 차감됩니다. 인앱결제로 충전한 캐시는 충전 후 60개월 뒤 만료이므로, 일반적으로 기존 캐시보다 나중에 소비됩니다.
예시: 기존 캐시 캐시 5,000 (만료 2031-01) + 인앱결제 캐시 10,000 (만료 2031-04) 보유 시, 캐시를 소비하면 기존 캐시부터 먼저 차감됩니다.
환불 처리 순서
- 인앱결제로 충전된 캐시 아이템을 비활성화하여 남은 잔량 회수
- 원래 지급한 캐시보다 회수량이 적다면 (부족분 발생) → 다른 캐시에서 FIFO 차감 시도
- 다른 캐시에서도 보충 불가능하다면 → 부족분을 원화로 누적 (부채)
3가지 환불 결과
| 결과 | 조건 | 블랙리스트 누적 |
|---|---|---|
| 정상 회수 | 인앱결제 캐시가 아직 사용되지 않았거나 FIFO 덕분에 원본 캐시가 그대로임 | 없음 |
| FIFO 차감 | 인앱결제 캐시가 일부 소비됐지만 다른 캐시 잔액으로 부족분 보충 가능 | 없음 |
| 부채 누적 | 인앱결제 캐시가 소비됐고 다른 캐시도 부족하여 보충 불가 | 누적됨 |
정상 회수 (FIFO 보호 효과)
인앱결제 캐시는 가장 나중에 만료되므로, FIFO 소비 순서상 마지막에 차감됩니다. 사용자가 일반적인 패턴으로 캐시를 사용했다면, 기존 캐시가 먼저 줄어들고 인앱결제 캐시는 그대로 남아있을 가능성이 높습니다.
이 경우 환불 시 인앱결제 캐시만 회수하면 전액 복구가 가능합니다.
예시:
- 기존 캐시 캐시 20,000 + 인앱결제 캐시 10,000 보유
- 캐시 캐시 4,000 사용 → 기존 캐시에서만 차감
- 인앱결제 환불 → 인앱결제 캐시 캐시 10,000 전액 회수 가능
FIFO 차감 환불
인앱결제 캐시가 일부 소비된 상태에서 환불이 발생하면, 부족분을 다른 캐시 잔액에서 보충합니다.
예시:
- 인앱결제 캐시 5,000 충전 (캐시 5,000 남음)
- 캐시 캐시 4,000 사용 → 인앱결제 캐시 캐시 1,000만 남음
- 다른 캐시 잔액 캐시 10,000 보유
- 인앱결제 환불 시: 인앱결제 캐시 캐시 1,000 회수 + 다른 캐시에서 캐시 4,000 추가 차감 = 캐시 5,000 전액 회수
이 경우 캐시를 실제로 사용했음에도 그 금액을 다른 잔액에서 보충하여 환불이 처리됩니다. 부채 누적은 없지만 다른 캐시 잔액이 줄어듭니다.
부채 누적 및 블랙리스트
부채 누적 조건
인앱결제 캐시를 모두 소비했고, 다른 캐시 잔액도 부족하여 환불 금액을 전액 회수할 수 없는 경우 부족분이 원화로 환산되어 부채로 누적됩니다.
부채 계산 공식: 부족 캐시량 × (상품 원화 가격 / 캐시 지급량)
예시: 캐시 5,000 상품(₩5,000) 구매 후 전부 사용, 다른 잔액 없음 → 환불 시 회수 불가 캐시 5,000 → 부채 ₩5,000 누적
블랙리스트 전환
누적 부채가 ₩100,000 이상이 되면 해당 전화번호가 블랙리스트에 등록됩니다.
| 누적 부채 | 상태 |
|---|---|
| ₩0 ~ ₩99,999 | 정상 (부채 추적 중) |
| ₩100,000 이상 | 블랙 리스트 전환 |
블랙리스트는 전화번호를 기준으로 관리됩니다. 계정을 탈퇴하고 재가입하더라도 동일한 전화번호로 인증하면 블랙리스트가 유지됩니다.
블랙리스트 효과
블랙리스트 사용자는 3가지 레이어에서 차단됩니다.
| 차단 레이어 | 설명 |
|---|---|
| 로그인 차단 | 신규 로그인 시도 시 403 오류 반환, 토큰 발급 불가 |
| 전체 API 차단 | 기존 로그인 세션으로 모든 API 요청 차단, 앱 사용 불가 |
| 인앱결제 차단 | 스토어 결제 성공해도 서버에서 캐시 미지급 |
블랙리스트 전환 시 해당 사용자의 모든 기기에서 자동으로 로그아웃됩니다. 재로그인 시도 시 즉시 차단됩니다.
환불 가능 여부 판정
관련 문서
- 인앱결제 시스템 개요 — 전체 결제 흐름과 RevenueCat 역할
- CS 자주 묻는 질문 — 환불·블랙리스트 관련 CS 대응 가이드
- 시나리오 가이드 — 환불 시나리오 상세