Apple의 12개월 약정 월간 구독에서 환불 한 건은 1년 약정 전체를 끝낼 수도, 한 달분만 돌려줄 수도 있습니다
Apple의 12개월 약정 월간 구독은 환불을 두 가지로 나눕니다. 지난달을 환불하면 결제는 그대로 이어집니다. 이번 달을 환불하면 약정이 그 자리에서 끝납니다. 각 경우가 서버에 어떻게 도착하는지, 비용이 얼마인지, Apple에 무엇을 보내야 하는지 정리했습니다.

핵심 요약
- Apple의 12개월 약정 월간 구독에서 지난 결제 기간에 대한 환불은 그 달의 거래만 취소하며, 고객은 구독을 유지하고 결제도 일정대로 진행됩니다.
- Apple이 12개월 약정 월간 구독의 현재 결제 기간을 환불하면 약정은 즉시 종료되고 남은 월 결제는 청구되지 않습니다.
- 12개월 약정 플랜을 해지한 고객은 남은 결제가 아니라 약정의 갱신을 해지한 것입니다. Apple은 매월 계속 청구하며, EXPIRED는 12번째 기간이 끝난 후에야 보냅니다.
- 결제 유예 기간(Billing Grace Period)은 12개월 약정 월간 구독에 적용되지 않습니다. Apple은 DID_FAIL_TO_RENEW에서 접근 권한을 회수하고, 하위 유형 BILLING_RECOVERY의 DID_RENEW에서 복원하라고 안내합니다.
- Apple이 12개월 약정 플랜에서 실패한 월 결제를 90일 이내에 회수하지 못하면 약정은 종료되고 회수 조치는 확정됩니다.
- 약정 플랜의 환불 요청은 CONSUMPTION_REQUEST를 발생시키며, Apple은 해당 결제 기간의 사용 데이터와 환불 선호를 12시간 이내에 요청합니다.
- 12개월 약정 플랜에서 상위 등급으로 업그레이드하면 약정이 즉시 종료되며, 고객은 현재 기간의 미사용분에 대해 일할 계산된 환불을 받을 수 있습니다.
Apple의 12개월 약정 월간 구독에서 승인된 환불 한 건은 결제 한 번을 돌려받는 것으로 끝날 수도 있고, 그해 남은 모든 결제를 취소할 수도 있습니다. 어느 쪽이 될지는 대부분의 서버 코드가 확인하지 않는 한 가지로 결정됩니다. 환불된 달이 현재 달인지 여부입니다. Apple 문서에 분명히 나와 있습니다. 지난 결제 기간에 대한 환불은 약정을 그대로 둡니다. 현재 기간에 대한 환불은 약정을 즉시 끝냅니다. 두 경우를 똑같이 처리하면 아직 결제 중인 고객을 차단하거나, 더 이상 결제하지 않는 고객에게 계속 서비스를 제공하게 됩니다.
Apple의 12개월 약정 플랜은 어떻게 청구되는가
Apple은 2026년 4월에 이 옵션을 출시했습니다. 새로운 제품 유형은 아닙니다. App Store Connect에서 기존 1년 자동 갱신 구독에 월간 결제 플랜을 추가하는 방식이며, 제품 ID는 그대로입니다. 고객은 매월 결제하고 12회 결제를 약정하며, 마지막 결제가 완료되면 미리 해지하지 않는 한 약정이 다시 12개월로 갱신됩니다.
| 규칙 | Apple 문서의 설명 |
|---|---|
| 판매 지역 | 미국과 싱가포르를 제외한 모든 스토어프런트 |
| 기기 및 SDK | OS 26.4 이상, watchOS 제외, 26.5 SDK 이상으로 빌드된 앱 |
| 가격 제한 | 12개월 총액은 연간 선결제 가격 이상이어야 하고, 그 1.5배를 넘을 수 없음 |
| 전제 조건 | 해당 국가에서 월간 결제를 제공하려면 먼저 연간 선결제를 설정해야 함 |
| 데이터에 나타나는 방식 | billingPlanType이 MONTHLY이고, commitmentInfo에 billingPeriodNumber, totalBillingPeriods, commitmentExpiresDate, commitmentPrice가 담김 |
| 옵션을 제거하면 | 기존 고객은 약정 종료 시 갱신되지 않고, 신규 고객은 선택할 수 없음 |
결제 기간마다 별도의 거래가 생성되고 한 달의 접근 권한이 부여됩니다. 환불이 이런 식으로 동작하는 이유가 바로 이것입니다. Apple은 거래 단위로 환불하며, 약정 플랜에서는 매달이 별개의 거래입니다.
환불이 12개월 약정에 미치는 영향
약정 수명 주기에 관한 Apple 가이드는 환불을 두 가지 경우로 나눕니다. 차이는 환불이 어느 결제 기간에 적용되느냐입니다.
| 환불 대상 | 약정은 어떻게 되는가 | 어디서 확인하는가 | 서버가 할 일 |
|---|---|---|---|
| 지난 결제 기간 | 영향 없이 계속됨. 결제는 일정대로 진행 | 해당 기간 거래의 revocationDate | 그 거래만 회수. 구독은 활성 상태 유지 |
| 현재 결제 기간 | 즉시 종료 | 최신 거래의 revocationDate | 접근 권한 종료. 이후 결제는 없음 |
| 상위 등급으로 업그레이드 | 즉시 종료되고 새 플랜 시작 | DID_CHANGE_RENEWAL_PREF, 하위 유형 UPGRADE | 이용 권한 전환. 미사용 기간에 대한 일할 환불이 뒤따를 수 있음 |
2개월 차 환불로 남은 1년이 해지되나요?
2개월 차가 이미 지난 달이라면 해지되지 않습니다. 고객이 5개월 차에 있고 Apple이 2개월 차 결제를 환불했다고 가정해 봅시다. Apple은 2개월 차 거래를 회수하고, 고객은 구독을 유지합니다. 6개월 차부터 12개월 차까지의 결제도 계속됩니다. Apple 가이드는 이 점을 분명히 합니다. 영향을 받은 거래의 revocationDate를 확인하되, 이를 약정 해지로 해석하지 마십시오.
환불로 약정이 끝나는 경우
환불이 현재 결제 기간에 적용되면 약정은 즉시 종료됩니다. 신호는 최신 거래에 있는 revocationDate입니다. 이 값이 있으면 현재 기간이 회수되었고 더 이상 결제가 없다는 뜻이므로 접근 권한도 종료됩니다.
업그레이드도 환불을 낳을 수 있습니다
Apple은 고객이 환불을 요청했을 때뿐 아니라 플랜을 변경한 후에도 환불을 받을 수 있다고 설명합니다. 약정 플랜에서 상위 등급 구독으로의 업그레이드는 즉시 적용됩니다. 약정이 끝나고 새 플랜이 시작되며, 고객은 약정의 현재 기간 중 미사용분에 대해 일할 계산된 환불을 받을 수 있습니다. 다운그레이드는 반대입니다. 12개월 약정이 끝날 때까지 기다립니다.
해지는 환불이 아닙니다
12개월 약정 플랜에서 해지를 누른 고객은 결제를 멈춘 것이 아닙니다. Apple에 따르면 고객이 해지하는 것은 약정의 갱신이지, 현재 약정 기간에 남은 결제가 아닙니다. 서버에는 다음이 도착합니다.
- Apple은 하위 유형 AUTO_RENEW_DISABLED와 함께 DID_CHANGE_RENEWAL_STATUS를 보냅니다.
- 약정의 자동 갱신 상태가 0으로 바뀌므로, 약정 기간이 끝나도 약정은 갱신되지 않습니다.
- 월간 결제는 계속되므로 구독 갱신 정보의 willAutoRenew는 여전히 1입니다.
- 남은 달마다 DID_RENEW 알림이 계속 도착합니다. EXPIRED는 12번째 기간 이후에 도착하며, 그때 접근 권한이 종료됩니다.
Apple은 평소의 해지 로직을 실행하기 전에 결제 플랜 유형을 확인하라고 안내합니다. MONTHLY라면 아무것도 회수하지 마십시오. 남은 모든 결제 기간을 그대로 이행하십시오.
지역별 예외가 하나 있습니다. App Store Connect Help는 해지한 고객이 약정이 끝날 때까지 결제를 계속하지만 일부 지역은 예외라고 설명하며, 독일, 이스라엘, 남아프리카공화국, 튀르키예의 구독 해지에 관한 Apple 페이지로 연결합니다. 이 네 나라에서는 고객이 언제든 구독을 즉시 해지하고 일할 계산된 환불을 받을 권리가 있습니다.
결제 실패 시 접근 권한은 즉시 종료됩니다
약정 플랜에는 다른 곳에서 기대했을지 모르는 안전망이 없습니다. 결제 유예 기간(Billing Grace Period)이 적용되지 않습니다. 월간 갱신이 실패하면 Apple은 구독이 결제 재시도 상태에 있는 동안 접근 권한을 회수하고, 결제가 회복될 때만 복원하라고 안내합니다.
| 알림 | 알려 주는 내용 | 할 일 |
|---|---|---|
| DID_FAIL_TO_RENEW | isInBillingRetryPeriod가 true | 지금 접근 권한 회수 |
| DID_RENEW, 하위 유형 BILLING_RECOVERY | commitmentExpiresDate가 회복 날짜를 반영해 이동 | 접근 권한을 복원하고 새 종료일 저장 |
| EXPIRED, 하위 유형 BILLING_RETRY | Apple이 90일 이내에 결제를 회수하지 못함 | 약정 종료. 앞서 한 회수 조치가 확정 |
결제가 회복되면 최신 거래에서 commitmentExpiresDate를 읽으십시오. 원래 종료일과 일치하지 않으며, 이후의 모든 갱신은 이동된 일정을 따릅니다.

약정 플랜 환불의 비용
예시 가격으로 금액을 살펴보겠습니다. 연간 선결제 플랜이 €59.99이고 월간 약정 옵션이 €6.99라면 12개월 합계는 €83.88입니다. 이는 선결제 가격의 1.5배라는 Apple의 한도 안에 들어갑니다.
| 시나리오, 고객은 4개월 차 | 환불되는 결제 | 잃는 향후 결제 | 사라지는 약정 금액 |
|---|---|---|---|
| Apple이 2개월 차를 환불 | €6.99 | 없음. 5~12개월 차는 계속 청구 | €6.99 |
| Apple이 현재 기간인 4개월 차를 환불 | €6.99 | €55.92, 8회 결제가 청구되지 않음 | €62.91 |
| 고객이 해지, 환불 없음 | 없음 | 없음. 5~12개월 차는 계속 청구 | €0 |
| 독일 고객이 해지 | 4개월 차의 일할 금액 | €55.92 | 최대 €62.91 |
이 금액은 고객 가격입니다. 실제로 잃는 것은 각 결제에서 여러분의 몫입니다. Apple은 구독자의 유료 서비스 첫해에는 해당 세금을 제외한 구독 가격의 70%를, 그 이후 또는 App Store Small Business Program 회원에게는 85%를 지급합니다.
환불은 비용의 절반일 뿐입니다. 한 달의 접근 권한을 제공하는 데는 비용이 듭니다. 앱이 AI 생성을 실행하거나, 유료 서드파티 API를 호출하거나, 고객 파일을 저장한다면 환불된 달의 컴퓨팅, 호출, 스토리지 비용은 이미 여러분이 지불했습니다. 지난달 환불은 결제를 돌려주고 그 비용은 여러분에게 남깁니다. 이번 달 환불도 마찬가지이며, 그해 남은 기간을 매출 전망에서 지워 버립니다.
약정 플랜의 CONSUMPTION_REQUEST에 응답하는 방법
여러분이 의견을 낼 수 있는 유일한 지점입니다. 고객이 약정 플랜의 환불을 요청하면 Apple은 App Store Server Notifications V2 엔드포인트로 CONSUMPTION_REQUEST를 보냅니다. Send Consumption Information으로 응답하며, Apple은 12시간 이내에 응답하라고 요청합니다. 응답에는 약정 전체가 아니라 해당 결제 기간의 사용 데이터와 환불 선호가 담깁니다.
- 고객이 동의한 경우에만 데이터를 보내십시오. Apple 문서에 따르면 동의가 없으면 요청에 아예 응답하지 않아야 합니다.
- consumptionPercentage는 넣지 마십시오. 자동 갱신 구독에 이 값을 보내면 API가 ConsumptionPercentageAutoRenewableSubscriptionError를 반환합니다.
- 환불 선호는 그 달의 사용량을 기준으로 정하십시오. 분쟁 대상인 달에 유료 생성을 300회 실행한 고객은 실제 비용의 기록을 남겼습니다. 앱을 한 번도 열지 않은 고객은 그렇지 않습니다.
- 요청이 어느 기간에 대한 것인지 확인하십시오. 현재 기간에 대한 요청은 Apple이 승인하면 약정을 끝냅니다. 지난 기간에 대한 요청은 그렇지 않습니다.
서버가 처리해야 할 일
- 모든 거래와 갱신 알림에서 billingPlanType을 읽으십시오. MONTHLY라면 약정 규칙이 적용됩니다.
- 접근 권한은 거래의 expirationDate를 기준으로 부여하십시오. Apple에 따르면 commitmentInfo의 만료일은 진행 상황 표시용이며 접근 권한 판단용이 아닙니다.
- 환불 시에는 구독을 종료하기 전에 최신 거래에 revocationDate가 있는지 확인하십시오.
- 해지 시에는 12번째 기간 이후 EXPIRED가 도착할 때까지 접근 권한을 유지하십시오.
- DID_FAIL_TO_RENEW를 받으면 즉시 회수하십시오. 오지 않을 유예 기간을 기다리지 마십시오.
- BILLING_RECOVERY가 있을 때마다 commitmentExpiresDate를 다시 저장하십시오.
App Store의 모든 환불은 Apple이 결정하므로, CONSUMPTION_REQUEST는 사용 내역을 Apple 앞에 제시할 수 있는 유일한 기회입니다. RefundHalt는 12시간 이내에 이 요청에 자동으로 응답하고 각 환불이 어느 결제 기간에 해당하는지 기록하므로, 지난달 환불을 구독자 이탈로 착각하는 일이 없습니다.
자주 묻는 질문
- Apple이 12개월 약정 월간 구독의 결제 한 건을 환불하면 어떻게 되나요?
- 결제 기간에 따라 다릅니다. 지난 기간에 대한 환불은 그 달의 거래만 회수하며, 약정은 계속되고 결제도 일정대로 진행됩니다. 현재 기간에 대한 환불은 약정을 즉시 끝내므로 남은 결제는 청구되지 않습니다.
- 고객이 Apple의 12개월 약정 월간 구독을 중도에 해지할 수 있나요?
- 해지는 할 수 있지만, 해지로 멈추는 것은 약정의 갱신이지 남은 결제가 아닙니다. 결제는 12개 기간 내내 계속되고 접근 권한도 함께 유지됩니다. App Store Connect Help는 일부 지역의 예외를 언급하며, Apple 지원 페이지에 따르면 독일, 이스라엘, 남아프리카공화국, 튀르키예의 고객은 즉시 해지하고 일할 계산된 환불을 받을 수 있습니다.
- 결제 유예 기간(Billing Grace Period)이 12개월 약정 플랜에 적용되나요?
- 아니요. Apple은 결제 유예 기간이 12개월 약정 월간 구독에는 적용되지 않는다고 밝힙니다. DID_FAIL_TO_RENEW가 도착하면 접근 권한을 회수하고, 하위 유형 BILLING_RECOVERY의 DID_RENEW에서 복원하며, 90일 후 도착하는 하위 유형 BILLING_RETRY의 EXPIRED는 확정으로 처리하십시오.
- 12개월 약정 플랜에도 CONSUMPTION_REQUEST가 오나요?
- 네. 약정 플랜의 환불 요청은 App Store Server Notifications V2 엔드포인트로 CONSUMPTION_REQUEST를 보냅니다. 해당 결제 기간의 사용 데이터와 환불 선호를 12시간 이내에 응답하되, 고객이 Apple과의 데이터 공유에 동의한 경우에만 응답하십시오.
- 12개월 약정 월간 구독을 미국에서 이용할 수 있나요?
- 아니요. Apple은 미국과 싱가포르를 제외한 모든 App Store 스토어프런트에서 이 옵션을 제공하며, OS 26.4 이상(watchOS 제외)과 26.5 SDK 이상으로 빌드된 앱이 대상입니다.
출처 및 추가 자료
- Apple Developer News: Now Available: Monthly Subscriptions with a 12-Month Commitment (April 27, 2026)
- Apple Developer Documentation: Managing the life cycle of monthly subscriptions with a 12-month commitment
- Apple Developer Documentation: Supporting monthly subscriptions with a 12-month commitment
- App Store Connect Help: Set availability for an auto-renewable subscription (monthly with 12-month commitment)
- Apple Support: About canceling subscriptions in Germany, Israel, South Africa, or Türkiye
- Apple Developer Documentation: Send Consumption Information
- Apple Developer Documentation: App Store Server Notifications notificationType
- Apple Developer: Auto-renewable subscriptions (net revenue after one year of paid service)
- Apple Developer: What's new in Apple In-App Purchase (WWDC26)
RefundHalt
App Store와 Google Play 환불 자동 처리
계속 읽기
앱 환불 정책은 Apple이나 Google보다 우선할 수 없습니다. 그러니 실제로 일어나는 일에 맞는 정책을 쓰세요
앱 환불 정책은 실제로 내가 환불을 처리하는 범위에서만 구속력을 가집니다. App Store의 모든 구매는 Apple이 직접 환불하고, Google Play는 48시간이 지나면 환불을 개발자에게 넘깁니다. 각 계약의 내용, 섣부른 약속의 대가, 그리고 정책에 넣을 만한 조항을 정리했습니다.
환불 요청에 어떻게 대응하느냐에 따라 결과는 환불이 되기도, 차지백이 되기도 합니다
고객이 이메일이나 리뷰로 환불을 요구할 때 어떻게 대응해야 하는지는 어느 스토어에서 판매되었는지에 달려 있습니다. 누가 결정하는지, 반드시 지켜야 할 기한, 결과별 비용, 그리고 사안을 마무리하는 답장을 정리했습니다.