개발자가 App Store 정산 내역을 열어보니 판매 대시보드가 약속했던 금액보다 몇 퍼센트 적을 때, 특유의 정적이 흐른다. 이메일도 없었고, 아무것도 고장 나지 않았다. Apple이 그저 당신을 대신해 돈을 돌려주고 그대로 넘어간 것뿐이다.
이 격차는 대부분의 사람들이 생각하는 것보다 크며, 이것이 실제 돈으로 이어지는 과정은 App Store 환불과 매출 손실에서 다룬 바 있다. 이번 글은 실용적인 버전이다. Apple 환불 요청이 시스템 안에서 어떻게 처리되는지, 매출이 어디로 사라지는지, 그리고 개발자가 실제로 할 수 있는 일은 무엇인지를 다룬다. 이는 생각보다 많고, 벤더들이 말하는 것보다는 적다.
핵심 요약
모든 App Store 환불은 Apple이 결정한다. 거부권은 없지만, 2021년부터는 Apple이 먼저 의견을 물어보며, 답변할 수 있는 시간은 약 12시간이다.
문서로 정리된 App Store 환불 정책은 짧다. 실제로 작동하는 것은 고객 이력과 당신이 보내는 정보를 종합적으로 평가하는 Apple의 의사결정 시스템이다.
환불은 판매 전체를 취소하며, 접근 권한을 회수하지 않으면 고객은 콘텐츠까지 그대로 유지하게 된다.
환불 악용은 전체 요청 중 소수에 불과하지만 소모성 아이템과 반복 계정에 집중되며, 이 부분이야말로 맞서 싸울 수 있는 영역이다.
Dipsea는 Apple에 답변하기 시작한 것만으로 환불율을 약 3분의 1 줄였다.
Apple 환불 프로세스가 실제로 작동하는 방식
고객은 당신에게 직접 연락하지 않는다. 그들은 reportaproblem.apple.com으로 이동해 "환불 요청"을 선택하고, 사유를 고른 뒤 제출한다. Apple의 지원 페이지는 고객에게 24~48시간을 기다리라고 안내하며, 자격 요건이 "국가나 지역에 따라 다를 수 있다"고 명시하는데, 이는 EU와 호주 같은 지역의 소비자법이 약관 외에도 추가적인 권리를 부여한다는 사실을 Apple이 인정하는 부분이다. 약관 자체는 거래가 최종적이라고 명시하지만, 그럼에도 많은 경우 환불이 이루어진다.
그 48시간 사이 어느 시점에 App Store Server Notifications를 설정해 두었다면, Apple은 당신의 서버로 CONSUMPTION_REQUEST를 보내 고객이 구매한 것을 실제로 사용했는지 묻는다. 응답 시간은 12시간이다. Apple 엔지니어들은 환불 처리에 관한 Tech Talk에서 의사결정 시스템이 "고객의 구매 및 환불 이력"과 당신이 보내는 정보를 함께 고려한다고 밝혔으며, 이후 REFUND 또는 REFUND_DECLINED 알림을 받게 된다. 저희 CONSUMPTION_REQUEST 설명 글에서 필드별 상세 내용을 확인할 수 있다.
이와 관련해 두 가지가 사람들을 놀라게 한다. Apple은 고객이 누구인지 절대 알려주지 않으며, 오직 거래 ID만 제공한다. 그리고 12시간 이내에 답변하지 않으면 Apple은 당신 쪽 정보 없이 결정을 내리는데, RevenueCat의 글은 이를 두고 Apple이 "기본적으로 환불을 승인하는 경우가 많다"고 요약했다.
Apple 환불 요청이 앱 매출에 미치는 영향
직접적인 비용은 단순하다. Apple이 거래를 취소하면 당신의 몫이 다음 정산에서 차감된다. 환불율이 4%라면, 월 매출 $50,000를 올리는 앱은 그 환불이 정당했는지 누구도 확인하기 전에 이미 약 $2,000를 돌려주고 있는 셈이다.
진짜 누적되는 것은 간접 비용이다. 코인을 다 쓴 뒤 환불된 소모성 아이템은 상품은 제공하고 아무것도 얻지 못했다는 뜻이다. REFUND 알림을 처리하지 않은 채 환불된 구독은 고객이 남은 기간 동안 접근 권한을 계속 유지한다는 뜻이므로, 결국 두 번 지불한 셈이 된다. Refund Sensor에 등록된 앱들을 보면 케이스당 평균 금액은 $33.31이며, 작아 보이지만 2,870건을 곱하면 거의 10만 달러에 달한다. 내부에서 느껴지는 감각은 대체로 그렇다. 아무도 책임지지 않는 자잘한 금액들이 쌓여가는 것이다.
App Store 환불 악용이 나타나는 지점
대부분의 환불 요청은 평범하다. 아이가 젬을 구매했거나, 누군가 체험판 취소를 잊었거나, 오래된 iPad에서 앱이 충돌한 경우다. 이런 경우는 고객 서비스로 다뤄야 한다. Apple도 그렇게 다루기 때문이다.
악용은 더 작지만 알아보기 쉬운 패턴을 가진 부분이다. 소모성 아이템을 구매해 하루 안에 사용하고 환불받거나, 같은 계정이 여러 앱에서 이를 반복하거나, 매달 결제 주기 마지막 날에 구독을 환불받는 식이다. Apple은 어떤 개발자보다도 이런 패턴을 훨씬 많이 목격한다. Apple의 2026년 사기 보고서에 따르면 2025년에 잠재적 사기 거래 $2.2 billion을 차단했고, 사기 및 악용으로 40.4 million개의 고객 계정을 정지시켰다. 환불 악용은 그보다 작은 갈래로, 당신에게까지 흘러 들어오는 부분이다.
이에 대해 할 수 있는 일은 기대보다 제한적이다. 고객이 요청하는 것 자체를 막을 수는 없다. 코인이 이미 사용되었다는 사실을 Apple에 알릴 수 있는데, 이것이 바로 소비 요청(consumption request)의 목적이다. 그리고 환불이 승인되었을 때 콘텐츠가 실제로 회수되도록 확실히 해야 한다. 젬을 그대로 유지한 악용자는 같은 짓을 또 할 것이기 때문이다. 상당수의 앱은 이 부분을 아예 구현조차 하지 않았다.
12시간 안에 개발자가 할 수 있는 일
대부분은 그저 응답하는 것이다. 구독형 오디오 앱 Dipsea는 2024년 말부터 소비 요청에 응답하기 시작했고, 환불율은 약 2주 만에 3%에서 1.9%로 떨어졌다. 그들이 Apple에 요청을 거절해 달라고 부탁한 것은 아니다. 단지 양식을 비워두는 것을 그만두었을 뿐이다.
많은 앱을 지켜보면서 얻은 몇 가지 참고 사항이 있다. 구매 시 appAccountToken을 첨부하지 않으면 Apple이 지정한 거래를 당신의 데이터베이스에 있는 사용자와 연결할 수 없다. 사용 데이터 공유에 대한 동의를 약관에 명시해 두어야 한다. Apple은 동의 없이는 아무것도 보내지 말라고 명시하고 있기 때문이다. 환불 선호도는 정직하게 전달해야 한다. Apple은 이를 하나의 참고 의견으로 취급할 뿐이며, 명백히 버티기만 하는 응답은 무시하고 뒤집기 때문이다. 그리고 모든 요청을 타임스탬프와 함께 기록해 두어야 한다. 놓치는 요청은 대개 토요일 새벽 3시에 도착하기 때문이다.
그다음에는 상류 단계를 살펴보라. Apple의 사유 목록에는 UNINTENDED_PURCHASE와 UNSATISFIED_WITH_PURCHASE가 포함되어 있는데, 둘 다 환불 문제이기 이전에 제품 문제다. 체험판이 전환되기 전날 보내는 리마인더, 혜택과 같은 크기로 가격을 표시하는 페이월, 어린이용 게임의 소모성 아이템에 대한 확인 단계 같은 것들이다. 각각은 요청이 생기기도 전에 그것을 제거해 주며, 이는 요청에서 이기는 것보다 낫다.
App Store 환불 관리 소프트웨어, 정말 필요할까
직접 구축할 수도 있다. 알림을 받을 엔드포인트, 거래 ID를 사용자와 매칭하는 조회 로직, Apple의 소비 엔드포인트로 보내는 PUT 요청, 그리고 8시간 넘게 방치된 건이 있으면 알려주는 작업이 필요하다. 실력 있는 백엔드 개발자라면 일주일이면 만들 수 있지만, 이후로는 영원히 그것을 유지보수해야 한다는 것이 진짜 비용이다.
이미 RevenueCat이나 Adapty를 사용하고 있다면, 두 플랫폼 모두 자체 SDK가 수집한 사용 데이터를 활용해 소비 요청에 응답해 준다. 어차피 SDK가 앱에 들어가 있다면 이는 합리적인 기본 선택이다.
Refund Sensor는 독립형 옵션이다. SDK 없이 App Store Connect API 키와 알림 URL만으로 연결되며, Apple과 Google을 한 곳에서 함께 다룬다. 800개 이상의 앱을 대상으로 자격이 있는 요청의 77%를 방어했다. 요금제는 고정형으로, 무료 요금제 이후 월 $39.99 또는 $79.99이며, 회수한 금액에서 수수료를 떼어가지 않는다. 설정 방법은 Apple 환불 방어 페이지에서 확인할 수 있다.
저희 제품을 포함해 이 모든 것에 적용되는 단서가 하나 있다. App Store 매출 보호 소프트웨어라는 이름으로 마케팅되는 것들은 환불 자체를 막을 수 없고, Apple이 당신에게 유리한 쪽으로 결정을 내리게 만들 수도 없다. 이런 도구가 하는 일은 매번, 시간 내에, 정확한 데이터로 Apple에 당신의 입장을 전달하는 것뿐이다. 그런데 이것만으로도 상당한 가치가 있으며, 이것이 이런 도구가 하는 일의 전부다.
결론
Apple 환불 요청은 사라지지 않으며, 당신에게는 거부권이 없다. 2021년에 달라진 점은 Apple이 의견을 묻기 시작했다는 것인데, 대부분의 개발자는 여전히 응답하지 않고 있다. Apple 환불 프로세스는 12시간 안에 Apple에 도달하는 정보를 바탕으로 돌아가며, 빈 양식은 고객의 이야기에 진다.
그러니 다음 순서로 매출을 보호하라. 요청에 응답하고, 환불이 발생하면 접근 권한을 회수해 악용이 이득이 되지 않도록 하고, 그다음 애초에 요청을 만들어내는 페이월과 체험판 플로우를 개선하라. 이 응답 작업을 직접 구축하든, 구독 플랫폼에서 빌려오든, 도구에 맡기든 그것 자체는 중요하지 않다. 중요한 것은 어쨌든 그것을 하는 것이다.
자주 묻는 질문
아니요. 결정은 Apple이 내립니다. 12시간 이내에 소비 데이터와 환불 선호도를 보낼 수 있고 Apple이 이를 참고하지만, Apple은 얼마든지 개발자의 의견을 뒤집을 수 있고 실제로도 그렇게 합니다.
Apple은 고객에게 24~48시간을 기다리라고 안내합니다. 개발자가 응답할 수 있는 시간은 CONSUMPTION_REQUEST를 받은 시점부터 12시간이며, 이 요청은 보통 그 기간 초반에 도착합니다.
거의 알려주지 않습니다. REFUND 알림에는 "app issue" 또는 "other" 둘 중 하나인 revocationReason이 포함됩니다. 오히려 요청 자체에 담긴 고객이 선택한 사유가 더 유용합니다.
고의로 구매하고 소비한 뒤 환불받는 행위로, 보통 소모성 아이템에서 발생하며 여러 앱에 걸쳐 반복되는 경우가 많습니다. Apple의 의사결정 시스템은 이미 환불 이력을 고려하므로, 개발자가 할 일은 소비 여부를 확인하고 환불이 이루어지면 접근 권한을 회수하는 것입니다.
12시간 안에 소비 요청에 수동으로 안정적으로 응답할 수 없는 경우에만 필요합니다. 주당 요청이 몇 건 안 된다면 체크리스트만으로도 충분할 수 있습니다. 그보다 많다면 자동화하세요. 직접 만든 코드든, 구독 플랫폼이든, 전용 도구든 상관없습니다.



