고객이 해지하는 것보다 갱신 실패가 더 자주 일어나며, 그 비자발적 이탈은 아직 되찾을 수 있는 수익입니다
많은 구독을 끝내는 것은 해지 탭이 아니라 거절된 카드이며, 스토어는 몇 주 동안 계속 결제를 시도합니다. App Store와 Google Play에서 결제 유예 기간, 결제 재시도, 계정 보류가 어떻게 작동하는지, 그리고 비자발적 이탈이 실제로 당신에게 얼마의 비용을 치르게 하는지 설명합니다.

핵심 요약
- 비자발적 이탈은 고객이 해지를 선택해서가 아니라 갱신 청구가 실패해서, 보통은 카드 만료나 거절로 구독이 끝나는 것입니다. 이것은 결제 문제이며, 두 스토어 모두 당신을 위해 이를 회복하도록 설계되어 있습니다.
- 갱신이 실패해도 어느 스토어도 구독을 바로 끝내지 않습니다. Apple은 최대 60일 동안 카드를 재시도하고, Google Play는 유예 기간과 계정 보류로 나뉜 60일의 회복 창을 유지합니다.
- 결제 유예 기간 동안 스토어가 재시도하는 사이에도 구독자는 완전한 접근 권한을 유지합니다. 어느 스토어에서든 유예 기간 안에 회복하면 중단도 없고 잃는 날도 없으며, 청구일도 움직이지 않습니다.
- 유예 기간이 끝나면 구독자는 접근 권한을 잃지만 재시도는 계속됩니다. 그때 회복하면 Apple은 회복일부터 새 청구 주기를 시작하고 Google은 청구일을 재설정하므로, 당신은 새 시계로 그 구독자를 되찾습니다.
- 이 회복은 당신에게 비용을 들이지 않고 백그라운드에서 실행됩니다. 재시도를 위해 결제 대행사에 돈을 낼 필요가 없고, Apple은 유예 기간 중 무료로 제공한 날짜까지 부담합니다. 당신이 잃는 수익은 대개 유예 기간을 꺼두거나, 회복 가능한 구독자를 떠난 것으로 잘못 읽어서 스스로 흘려보낸 수익입니다.
- 이 신호들은 당신이 이미 환불에 사용하는 것과 동일한 App Store Server Notifications와 Google Play RTDN 피드로 도착합니다. DID_FAIL_TO_RENEW와 SUBSCRIPTION_IN_GRACE_PERIOD, SUBSCRIPTION_ON_HOLD, 그리고 카드가 통과했을 때의 BILLING_RECOVERY 또는 SUBSCRIPTION_RECOVERED입니다.
- 유예 기간이나 보류 중인 구독자는 아직 이탈하지 않았습니다. 60일 창이 회복 없이 닫혔을 때에만 손실로 세십시오. 그렇지 않으면 이탈률이 실제보다 나빠 보이고 회복률이 0처럼 보입니다.
카드가 만료되고, 은행이 갱신을 거절하고, 당신이 잃은 적 없던 구독자가 결제를 멈춥니다. 그들은 당신의 앱을 열어 해지를 탭하지 않았습니다. 단지 결제 수단이 실패했을 뿐이며, 다음에 무슨 일이 일어나는지 모른다면 그들은 소리 없이 당신의 수익에서 빠져나갑니다. 이것이 비자발적 이탈이며, App Store에서도 Google Play에서도 스토어는 그 결제가 실패했을 때 포기하지 않습니다. 구독자를 유지하고, 카드를 계속 재시도하며, 대부분의 경우 돈이 아직 도착할 수 있는 창을 몇 주 동안 열어 둡니다. 그 회복의 대부분은 당신이 움직이든 아니든 일어납니다. 그것을 올바르게 읽는 것이, 진짜 해지를 세는 것과 스토어가 곧 당신 대신 회수할 결제를 손실로 처리해 버리는 것 사이의 차이입니다.
이것은 환불도 아니고 지불 거절도 아닙니다. 아무것도 되돌려지지 않고, 돈이 당신의 계좌에서 나가지도 않습니다. 수익이 그저 도착하지 않을 뿐이며, 당신의 보고서에서는 평범한 만료처럼 보입니다. 바로 그래서 조용히 새어 나갑니다. 해지하는 고객은 떠난다고 알려 줍니다. 카드가 실패한 고객은 아무것도 알려 주지 않으며, 만약 그들을 똑같이 취급한다면 스토어가 되찾으려던 사람들을 잃게 됩니다.
비자발적 이탈이 실제로 무엇인가
이탈에는 두 가지 형태가 있고, 둘은 같은 문제가 아닙니다. 자발적 이탈은 결정입니다. 고객은 더 이상 그 구독을 원하지 않아서 해지합니다. 비자발적 이탈은 사고입니다. 갱신 청구가 실패하는 것은 보통 카드가 만료되었거나, 한도에 도달했거나, 은행이 반복 청구나 해외 청구를 위험해 보인다고 판단해 표시했기 때문입니다. 전자는 제품으로 고치는 제품 문제입니다. 후자는 결제 문제이며, 스토어가 당신을 위해 고치도록 만들어진 바로 그 문제입니다.
보이는 것보다 큰 이유
갱신 실패는 흔하며, 당신의 앱이 얼마나 좋은지와는 아무 상관이 없습니다. 카드는 예정대로 만료되고, 잔액은 바닥나고, 은행은 위험해 보인다고 판단한 반복 청구를 거절합니다. 갱신 주기마다 구독자가 선택하지도 않은 이유로 일부 청구가 실패합니다. 이런 구독자들은 떠난다고 알리지 않기 때문에 평범한 만료로 잘못 읽기 쉽고 놓치기 쉬우며, 그렇게 회복 가능한 수익이 죽은 것으로 계상되고 마는 것입니다.
App Store는 60일 동안 계속 시도한다
자동 갱신 구독의 청구가 실패해도 Apple은 그것을 끝내지 않습니다. 최대 60일 동안 지속되는 결제 재시도 기간으로 넘어가며, Apple은 그 창 전체에 걸쳐 카드를 계속 시도합니다. 그 60일 동안 구독자가 겪는 것은 당신이 통제하는 한 가지 설정, 결제 유예 기간에 달려 있습니다.
결제 유예 기간은 Apple이 재시도하는 동안 접근 권한을 유지한다
결제 유예 기간을 켜면 Apple이 카드를 재시도하는 동안 구독자는 유예 기간 길이만큼, 월간 및 연간 플랜에서 최대 16일까지 당신의 유료 콘텐츠에 대한 완전한 접근 권한을 유지합니다. 유예 기간 안에 회복하면 중단이 전혀 없습니다. 같은 청구일, 서비스 날짜의 손실 없음, 수익의 공백 없음입니다. Apple은 유예 기간 중 무료로 제공한 날짜의 비용까지 부담합니다. 이것은 거의 순수하게 유리한 드문 설정입니다. 회복된 구독자는 청구 실패를 알아채지도 못하기 때문입니다.
유예 기간 후, 접근은 멈추지만 재시도는 멈추지 않는다
유예 기간이 청구 성공 없이 끝나면 구독자는 접근 권한을 잃지만, Apple은 60일 창의 나머지 기간 동안 카드를 계속 재시도합니다. 그 구간에서 회복하면 구독자는 회복일에 갱신하여 새 청구 주기를 시작하고, Apple은 이미 무료로 내준 유예 날짜를 청구하지 않습니다. 꼬박 60일이 결제 성공 없이 지나야만 구독이 완전히 만료됩니다. 유예 기간을 꺼두면 구독자는 갱신이 실패하는 순간 접근 권한을 잃으며, 그것은 결제하는 고객에게 잠긴 문을 건네는 최악의 순간입니다.
각 단계를 표시하는 알림
당신의 App Store Server Notifications 피드는 전체 순서를 이야기합니다. DID_FAIL_TO_RENEW는 갱신이 실패했음을 알리며, 구독자가 아직 유예 기간 안에 있어 접근 권한을 유지해야 하는 동안에는 GRACE_PERIOD 하위 유형을 담습니다. GRACE_PERIOD_EXPIRED는 유예 기간의 끝, 즉 접근 권한을 취소할 시점을 표시합니다. BILLING_RECOVERY 하위 유형이 붙은 DID_RENEW는 카드가 마침내 통과하여 구독자가 돌아왔음을 뜻합니다. BILLING_RETRY 하위 유형이 붙은 EXPIRED는 60일이 다하여 구독자가 정말로 떠났음을 뜻합니다. 이 네 가지를 처리하면 당신의 접근 권한은 항상 실제 상태와 일치합니다.

Google Play는 같은 60일을 둘로 나눈다
Google Play는 같은 아이디어를 다른 형태와 자체 용어로 운영합니다. 실패한 갱신은 구독을 유예 기간을 거쳐 계정 보류로 옮기며, 그 둘이 합쳐 60일의 회복 창을 이룹니다.
유예 기간은 접근을 유지하고, 계정 보류는 그것을 앗아간다
유예 기간 동안 Google이 카드를 재시도하는 사이에도 구독자는 접근 권한을 유지하며, 재시도가 진행됨에 따라 만료 시간이 뒤로 밀립니다. 카드가 통과하면 구독은 원래의 갱신일을 그대로 유지한 채 회복되어, 실패가 일어나지 않은 것처럼 됩니다. 유예 기간이 다하면 구독은 계정 보류로 떨어집니다. 이제 접근이 멈추고, 결제가 해결될 때까지 꺼진 채로 있습니다. 계정 보류에서 회복하면 접근은 돌아오지만, 청구일은 이전 날짜가 아니라 회복일로 재설정됩니다.
이 60일 계산은 2025년 말에 바뀌었다
2025년 12월 1일부로 Google은 계정 보류 길이를 60일에서 당신의 유예 기간을 뺀 값으로 계산합니다. 16일의 유예 기간은 44일의 보류를 남기며, 합쳐진 회복 창은 60일로 유지됩니다. 더 긴 유예 기간을 선택하면 보류 시간을 접근 시간과 맞바꾸는 셈이지만, 전체 창은 바뀌지 않습니다. Google은 이 분할이 이제 고정된 것이 아니라 도출되는 것이므로, 고정된 보류 길이를 가정하는 대신 API를 통해 실시간 구독 상태를 읽을 것을 권장합니다.
당신이 처리하는 RTDN 유형
Google Play의 Real-time Developer Notifications는 각 단계를 짚어 줍니다. SUBSCRIPTION_IN_GRACE_PERIOD는 접근을 유지하고 고객에게 카드를 고치도록 유도하라는 뜻입니다. SUBSCRIPTION_ON_HOLD는 지금 접근을 취소하라는 뜻입니다. SUBSCRIPTION_RECOVERED는 결제가 통과하여 접근이 돌아온다는 뜻입니다. SUBSCRIPTION_CANCELED에 이어 SUBSCRIPTION_EXPIRED는 해결 없이 창이 닫혀 구독자가 이탈했다는 뜻입니다. 이것들은 당신이 이미 무효화된 구매와 환불에 사용하는 것과 동일한 RTDN 파이프로 도착합니다.
| 단계 | App Store | Google Play |
|---|---|---|
| 갱신 실패, 접근 유지 | 결제 유예 기간, 최대 16일 | 유예 기간, 당신이 정한 길이 |
| 갱신 실패, 접근 상실 | 유예 기간 후, 60일의 나머지 기간 | 계정 보류 |
| 총 회복 창 | 최대 60일 | 60일, 유예 기간 더하기 보류 |
| 유예 기간 중 회복 | 같은 청구일, 잃는 날 없음 | 같은 갱신일, 중단 없음 |
| 유예 기간 후 회복 | 회복일에 새 청구 주기 | 청구일이 회복일로 재설정 |
| 완전히 종료 | EXPIRED, 하위 유형 BILLING_RETRY | SUBSCRIPTION_EXPIRED |
비자발적 이탈이 당신에게 치르게 하는 비용
여기서의 비용은 계상한 돈이 되돌려지는 환불 종류가 아닙니다. 그것은 결코 나타나지 않는 수익이며, 당신의 숫자 속에 평범한 만료로 숨어 있습니다.
이미 얻기 위해 비용을 치른 갱신
모든 반복 구독자는 당신이 얻기 위해 실제 돈을 들인 대상입니다. 그들을 획득한 광고비와 크리에이티브, 온보딩, 그리고 그 이후 주기마다 그들을 위해 돌린 연산 자원, 스토리지, API 호출입니다. 죽은 카드로 잃은 구독자는 그 모든 매몰 비용을 회수하지 못한 채 걸어 나가며, 그 수익을 메우려면 새로운 누군가를 위해 획득 비용을 처음부터 다시 지불하게 됩니다. 스토어가 회복한 구독자는 재획득 비용이 0입니다. 이 둘 사이의 격차, 완전한 재획득 대 0이 바로 비자발적 이탈이 실제로 움직이는 돈입니다.
회복은 무료로 돌아가고 있다, 당신이 그렇게 하도록 두면
여기가 놓치는 부분입니다. 유예 기간과 재시도 동안 스토어는 당신에게 비용을 들이지 않고 당신 대신 회수하고 있습니다. 당신은 독촉을 돌리지 않고, 재시도마다 결제 대행사에 지불하지 않으며, 이메일 한 통 보낼 필요도 없습니다. 회복은 60일 창에 걸쳐 백그라운드에서 일어나고 있습니다. 그 수익이 그럼에도 잃어질 때, 대개는 스스로 자초한 두 가지 실수 중 하나로 거슬러 올라갑니다. 유예 기간을 꺼서 카드가 실패하는 순간 구독자를 잠가 버리는 것, 아니면 아직 회복 창 안에 있는 구독자를 확정 해지로 취급하여 스토어가 포기하지 않은 수익을 포기하는 것입니다.
비자발적 이탈을 실제로 낮게 유지하는 방법
회복을 움직이는 소수의 설정과 신호에 노력을 쏟고, 스토어가 이미 잘하는 재시도는 맡기십시오.
결제 유예 기간을 켜라
두 스토어 모두에서 유예 기간을 활성화하십시오. 그것은 스토어가 재시도하는 동안 결제하는 구독자를 당신의 앱에 붙잡아 두므로, 회복된 구독자는 하루도 잃지 않으며, 이는 여기서 가장 지렛대가 큰 단일 제어 항목입니다. App Store에서는 App Store Connect의 토글입니다. Google Play에서는 자동 갱신 기본 플랜에 대해 유예 기간이 기본으로 켜져 있으므로, 할 일은 그것을 켠 채로 유지하고 당신이 무료로 제공해도 괜찮은 길이를 설정하는 것입니다.
유예와 보류에서 접근을 실제 상태에 맞춰라
유예 기간 동안에는 접근을 유지하십시오. Apple의 GRACE_PERIOD 하위 유형이 붙은 DID_FAIL_TO_RENEW와 Google의 SUBSCRIPTION_IN_GRACE_PERIOD에 해당합니다. Apple의 유예 기간이 만료될 때와 Google이 SUBSCRIPTION_ON_HOLD를 보낼 때 접근을 취소하십시오. 회복이 도착하는 순간 BILLING_RECOVERY 또는 SUBSCRIPTION_RECOVERED로 그것을 복원하십시오. 이것을 한 방향으로 틀리면 몇 주간 무료 접근을 거저 내주게 됩니다. 다른 방향으로 틀리면 재시도 한 번이면 다시 당신에게 결제할 구독자를 잠가 버리게 됩니다.
회복을 이탈과 따로 세라
유예 기간이나 계정 보류 중인 구독자는 이탈하지 않았습니다. 회복 창이 청구 성공 없이 닫힐 때까지 그들을 손실로 계상하지 마십시오. 만약 당신의 분석이 갱신 실패와 고객 해지를 하나의 숫자로 뭉뚱그리면, 이탈률은 실제보다 나쁘게 읽히고 회복률은 아무 일도 일어나지 않는 것처럼 읽힙니다. 비자발적 이탈을 따로 떼어 내고 그 회복률을 추적하십시오. 그 비율은 설정 하나와 유도 하나로 실제로 움직일 수 있는 숫자이기 때문입니다.
해결을 유도하고, 그다음 길을 비켜라
당신이 더할 수 있는 유일하게 유용한 것은 살짝 미는 것입니다. 두 스토어 모두 구독자에게 결제 수단을 업데이트하도록 유도하게 해 주며, Apple은 앱 안에서, Google은 In-App Messaging API와 Play 알림을 통해서입니다. 유예 기간 중 잘 맞춘 유도는 회복을 높입니다. 이 고객 대부분은 여전히 구독을 원하며 그저 카드를 고치면 되기 때문입니다. 그 한 번의 밀기를 넘어서면, 스토어가 재시도하도록 두십시오. 스토어는 이미 비싼 부분을 무료로, 몇 주 동안 해 주고 있습니다.
RefundHalt가 이미 환불을 위해 듣고 있는 것과 동일한 App Store Server Notifications와 RTDN 피드는 이 모든 결제 신호도 함께 실어 나릅니다. 유예 기간, 보류, 회복, 그리고 비자발적 이탈이 당신의 환불 옆 대시보드에 도착하므로, 어떤 실패한 갱신이 떠났고 어떤 것이 돌아오는지 어림짐작하는 대신 회복 창이 일하는 것을 지켜볼 수 있습니다.
짧은 요약
실패한 갱신은 해지가 아니며, 스토어는 몇 주 동안 그렇게 취급합니다. Apple은 카드를 최대 60일 동안 재시도하고, 유예 기간이 켜져 있으면 그 동안 구독자를 당신의 앱에 붙잡아 둡니다. Google Play는 같은 60일을 접근을 유지하는 유예 기간과 그것을 없애는 계정 보류로 나눕니다. 유예 기간을 켜고, 유예와 보류 알림을 처리해 접근을 현실에 맞추고, 고객에게 카드를 고치도록 유도하고, 창이 빈 채로 닫힌 뒤에만 구독자를 이탈로 세십시오. 비자발적 이탈은 스토어가 당신을 위해 능동적으로 막아 주고 있는 유일한 수익 누수입니다. 당신의 일은 대부분 길을 비켜 두는 것과, 손실이 언제 진짜인지 알 수 있을 만큼 숫자를 잘 읽는 것입니다.
자주 묻는 질문
- 자발적 이탈과 비자발적 이탈의 차이는 무엇인가요?
- 자발적 이탈은 고객이 구독 해지를 선택하는 것입니다. 비자발적 이탈은 고객이 떠나기로 결정하지 않았는데도 갱신 청구가 실패하여, 보통은 카드 만료나 거절로 구독이 끝나는 것입니다. 비자발적 이탈은 스토어가 당신을 위해 회복하려 하는 결제 문제이므로, 진짜 해지와 같은 방식으로 세거나 처리해서는 안 됩니다.
- 갱신 결제가 실패하면 구독자는 접근 권한을 유지하나요?
- 단계에 따라 다릅니다. 결제 유예 기간 동안에는 App Store와 Google Play 모두에서 스토어가 카드를 재시도하는 사이에도 구독자가 완전한 접근 권한을 유지합니다. 유예 기간이 끝나면 접근이 멈춥니다. Apple은 접근을 끈 채 60일 창의 나머지 기간을 계속 재시도하고, Google은 구독을 계정 보류로 옮기며, 그곳에서는 결제가 해결될 때까지 접근이 제거됩니다.
- 스토어는 실패한 구독의 청구를 얼마나 오래 계속 시도하나요?
- 두 스토어 모두 최대 60일입니다. Apple은 최대 60일의 결제 재시도 기간을 돌리며, 결제 유예 기간이 그 안에 자리합니다. Google Play는 유예 기간과 계정 보류로 나뉜 60일의 회복 창을 유지하며, 그곳에서는 2025년 12월 1일부로 계정 보류가 60일에서 당신의 유예 기간 길이를 뺀 값으로 계산됩니다.
- 결제 유예 기간을 켜야 하나요?
- 대부분의 앱에서는 그렇습니다. 유예 기간은 스토어가 실패한 카드를 재시도하는 동안 결제하는 구독자를 당신의 앱에 붙잡아 두므로, 그 안에서 회복한 사람은 누구도 하루를 잃지 않고 실패를 알아채지 못합니다. 대가는 결코 회복되지 않는 구독자에게 며칠의 무료 접근을 주는 것입니다. 이점은 갑작스러운 잠금으로 떠났을 사람들을 붙잡는 것입니다.
- 유예 기간이나 계정 보류 중인 구독자는 이미 이탈한 것인가요?
- 아닙니다. 그들은 회복 창 안에 있고, 스토어는 여전히 회수를 시도하고 있습니다. 그들을 이탈로 세면 이탈을 과장하고 회복률을 가리게 됩니다. 60일 창이 결제 성공 없이 닫혔을 때에만 구독자를 손실로 계상하십시오. 스토어는 그것을 Apple에서는 EXPIRED(결제 재시도) 알림으로, Google Play에서는 SUBSCRIPTION_EXPIRED로 신호합니다.
- 비자발적 이탈은 환불이나 지불 거절을 만드나요?
- 아닙니다. 아무것도 되돌려지지 않고 돈이 당신의 계좌에서 나가지도 않습니다. 실패한 갱신은 결제가 되돌려지는 것이 아니라 결코 도착하지 않는 수익입니다. 그것은 환불이나 지불 거절과 정반대이며, 그래서 돈이 나가는 것으로 나타나지 않고 당신의 보고서에서 평범한 만료로 숨는 것입니다.
출처 및 추가 자료
- Apple Developer: Reducing Involuntary Subscriber Churn (billing retry and billing grace period for auto-renewable subscriptions)
- Apple: App Store Connect Help, Enable Billing Grace Period for auto-renewable subscriptions (grace keeps access; up to 16 days on monthly and yearly plans)
- Apple Developer: App Store Server Notifications notificationType and subtype (DID_FAIL_TO_RENEW with GRACE_PERIOD, GRACE_PERIOD_EXPIRED, DID_RENEW with BILLING_RECOVERY, EXPIRED with BILLING_RETRY)
- Android Developers: Subscription lifecycle (grace period keeps access, account hold removes it, and the recovery RTDN types)
- Google Play Console Help: Changes to Google Play subscription payment recovery periods (from December 1, 2025, account hold is 60 days minus grace period)
- Android Developers: Real-time developer notifications reference (SubscriptionNotification types including SUBSCRIPTION_IN_GRACE_PERIOD, SUBSCRIPTION_ON_HOLD, SUBSCRIPTION_RECOVERED, SUBSCRIPTION_EXPIRED)
RefundHalt
App Store와 Google Play 환불 자동 처리
계속 읽기
아이가 저지른 무단 인앱 결제는 거의 매번 부모에게 환불되고, 그 비용은 개발자가 떠안습니다
아이가 부모의 휴대폰에서 코인 팩을 구매하면 Apple과 Google 모두 그것을 환불하며, 어느 쪽도 먼저 개발자에게 묻지 않습니다. 규제 당국이 그렇게 만들도록 했기 때문입니다. 이러한 무단 인앱 결제 환불이 각 스토어에서 어떻게 처리되는지, 돈이 오가는 15분의 창, 그리고 실제로 얼마의 손실이 되는지 설명합니다.
앱 환불 세금은 애초에 당신의 것이 아니었으므로, 환불로 잃는 것은 영수증의 총액이 아니라 당신의 몫입니다
앱 내 구매를 환불하면 영수증에는 가격과 세금이 함께 돌아가는 것으로 표시됩니다. 그 세금은 애초에 당신의 돈이 아니었습니다. Apple 과 Google 이 merchant of record 로서 이를 징수하고 납부하며, 환불 시 당신의 몫에는 손대지 않고 되돌립니다. 환불이 실제로 얼마의 비용인지, 그리고 세금이 당신의 것이 되는 유일한 설정을 설명합니다.