App Store & Play Store Development

CONSUMPTION_REQUEST 알림이란 무엇인가? 필드별 완벽 분석

Apple의 CONSUMPTION_REQUEST는 환불을 결정하기 전에 구조화된 소비 데이터를 요청합니다. 각 필드가 무엇을 의미하며 결과에 어떻게 영향을 미치는지 알아봅니다.

6 min read
CONSUMPTION_REQUEST 알림이란 무엇인가? 필드별 완벽 분석

빠른 답변: CONSUMPTION_REQUEST는 고객이 환불 대상 인앱 구매 또는 구독에 대해 환불을 요청할 때 Apple이 여러분의 서버로 보내는 알림입니다. 이에 응답하려면 고객이 구매한 것을 어떻게 사용했는지, 동의했는지 여부, 그리고 여러분의 환불 선호도를 설명하는 일련의 필드로 구성된 구조화된 ConsumptionRequest를 반환해야 합니다. Apple은 이 필드들을 결정에 반영합니다. 이 가이드에서는 각 필드가 무엇을 의미하며 왜 중요한지 설명합니다.

알림이란 무엇인가

고객이 Apple에 환불을 요청하면, App Store는 App Store Server Notifications를 통해 여러분의 서버로 CONSUMPTION_REQUEST를 보냅니다. 이는 Apple이 "이 고객이 이 구매를 어떻게 사용했는지 아는 내용을 알려주면, 그것을 결정에 반영하겠다"고 말하는 것입니다.

여러분은 ConsumptionRequest 본문을 반환하여 응답합니다. 모든 값은 하나의 신호입니다. 정확하고 완전한 apple 환불 데이터를 보내면 Apple은 맥락을 갖게 되고, 필드를 비워두면 더 적은 정보로 결정하게 됩니다. 여러분이 직접 환불을 승인하거나 거부하는 것은 아니며 최종 결정은 항상 Apple이 내리지만, 여러분이 보내는 데이터의 품질이 그 가능성을 좌우합니다. 전체 흐름은 Apple 환불 요청 자동화 방법.을 참고하세요.

Apple이 허용하는 필드

다음은 ConsumptionRequest에 포함되는 내용과 각 필드가 Apple에 전달하는 정보입니다. 이러한 consumption request 필드는 consumption api 워크플로우에서 사용되는 구조화된 데이터를 제공합니다:

필드

의미하는 내용

중요한 이유

customerConsented

고객이 이 데이터 공유에 동의했는지 여부

필수 항목입니다. true여야 하며, 그렇지 않으면 Apple이 응답을 처리하지 않습니다.

consumptionStatus

미사용 / 부분 사용 / 완전 사용

완전히 사용된 구매는 전혀 사용하지 않은 구매와 매우 다른 사례입니다.

deliveryStatus

가치 또는 서비스가 성공적으로 제공되었는지 여부

"우리는 제공했고, 고객이 사용했다"는 경우와 실제 배송 실패를 구분합니다.

refundPreference

여러분의 권고 사항: 미지정 / 승인 권장 / 거절 권장

Apple이 참고하는 입력값 중 하나로, 증거가 이를 뒷받침할 때 결정에 반영되는 여러분의 의견입니다.

accountTenure

고객이 여러분과 계정을 유지한 기간

오래된 계정은 신규 계정과 다르게 평가됩니다.

playTime

고객이 앱에서 보낸 시간

환불 대상 항목에 대한 실제 참여도를 보여주는 직접적인 증거입니다.

lifetimeDollarsPurchased

고객이 여러분의 앱 전체에서 지출한 총액

일회성 구매자인지, 가치 있는 기존 고객인지 판단하는 맥락이 됩니다.

lifetimeDollarsRefunded

이 고객에게 이전에 환불된 총액

반복적인 환불 패턴은 의미 있는 신호입니다.

sampleContentProvided

고객이 구매 전에 체험해볼 수 있었는지 여부

구매가 충분한 정보를 바탕으로 이루어졌는지를 나타냅니다.

userStatus

현재 계정 상태(활성, 정지 등)

요청 시점의 고객 상태를 보여줍니다.

Apple은 이 필드들 대부분을 정의된 값 집합에 매핑합니다(예를 들어, consumptionStatus와 deliveryStatus는 특정 열거형 코드를 사용합니다). 정확한 코드는 아래에 링크된 Apple 공식 문서에 있으며 변경될 수 있는데, 이는 응답을 최신 상태로 유지하는 일이 일회성 구축이 아니라 지속적인 작업인 이유 중 하나입니다.

가장 중요한 세 가지 필드

무엇에든 집중해야 한다면, 바로 이 부분입니다:

customerConsented: 이는 단순히 중요한 것이 아니라 하나의 관문입니다. true가 아니면 Apple은 전체 제출을 거부하며, 데이터를 보내기 전에 앱에서 해당 동의를 받아야 하는 법적 책임은 여러분에게 있습니다. 이는 기술적 필드이자 동시에 컴플라이언스 필드이기도 합니다. 동의 요건에 대해서는 고객 동의 & Consumption API에서 자세히 다룹니다.

refundPreference: 이는 여러분이 가질 수 있는 가장 투표에 가까운 수단입니다. 증거가 실제로 거절을 뒷받침할 때, 이 선호도를 표현하는 것은 Apple이 고려하는 입력값 중 하나가 됩니다. 그렇지 않을 때 거절 선호도를 강제로 설정한다고 해서 마법처럼 결과가 바뀌는 것은 아니며 Apple이 여전히 결정을 내립니다.

consumptionStatus: 고객이 구매한 것을 실제로 사용했는지 여부는 종종 사건의 핵심이 됩니다. 또한 요청이 도착하는 시점에 사용 데이터가 정확하고 최신 상태가 아니면 가장 잘못되기 쉬운 필드 중 하나입니다.

이 필드들을 정확히 채우는 일이 보기보다 어려운 이유

필드 표를 읽어보면 오후 한나절이면 끝날 작업처럼 보일 수 있습니다. 하지만 실제로 제대로 응답하려면 다음이 필요합니다:

  • 요청이 도착하는 즉시 각 고객에 대한 정확하고 최신의 사용 및 결제 데이터를 가져오는 것 전날의 스냅샷이 아닙니다.

  • 내부 데이터를 Apple의 정확한 값 집합에 매핑하고, Apple이 이를 수정할 때마다 매핑을 올바르게 유지하는 것.

  • 사람이 지켜보지 않아도 약 12시간의 창 안에서, 어느 시각이든 이를 처리하는 것.

  • 동의 상태, 재시도, 실패, 로깅을 처리하여 무엇을 보냈는지 증명하고 제대로 작동하는지 확인할 수 있도록 하는 것.

이 중 개념적으로 어려운 것은 없습니다. 다만 이 모든 것은 여러분의 제품이 아닌 워크플로우를 위해 직접 소유하고 유지해야 하는 인프라입니다. 대부분의 팀이 결국 내리는 판단은 이렇습니다: 필드 자체는 알 수 있지만, 신뢰할 수 있고 마감 기한을 지키며 컴플라이언스를 충족하는 응답 시스템을 구축하고 유지하는 일은 실제 앱에는 아무런 이점이 없는 지속적인 비용이라는 것입니다.

이것이 바로 RefundSensor가 채워주는 공백입니다. RefundSensor는 여러분의 데이터로부터 모든 필드를 매핑하고, Apple의 변경 사항을 최신 상태로 유지하며, 창 안에서 자동으로 응답하므로 환불을 결정하는 정확성을 여러분이 직접 구축하거나 관리할 필요 없이 처리할 수 있습니다. Apple 환불 자동화 소프트웨어를 비교 검토하는 팀에게 이는 워크플로우에서 인프라 부담을 제거해줍니다.

공식 출처

Apple의 값 집합과 요구 사항은 변경될 수 있으므로, Apple의 공식 문서를 최종 기준으로 삼으세요:

필드 자체는 파악할 수 있습니다. 다만 그에 대한 응답 시스템을 유지하는 것은 여러분의 일이 아닙니다. RefundSensor는 여러분의 데이터로부터 모든 ConsumptionRequest 필드를 매핑하고 Apple의 응답 기한 안에 자동으로, 정확하고 최신 상태로, 컴플라이언스를 준수하여 응답합니다. 무료로 시작하기

자주 묻는 질문

고객이 환불 대상 구매에 대해 환불을 요청할 때 Apple이 보내는 App Store Server Notification입니다. 이 알림은 Apple이 환불 결정에 반영하는 소비 데이터를 반환하도록 요청합니다.

동의 여부, 소비 상태, 배송 상태, 계정 유지 기간, 플레이 시간, 생애 누적 지출 및 환불 금액, 샘플 콘텐츠 제공 여부, 계정 상태, 그리고 환불 선호도를 나타내는 필드들입니다. 각 필드는 Apple이 결정에 반영하는 신호입니다.

customerConsented는 절대적인 조건으로, 이것이 없으면 응답 자체가 거부됩니다. refundPreference와 consumptionStatus는 증거가 주장을 뒷받침할 때 결과에 가장 직접적인 영향을 미칩니다.

선호도는 정확한 소비 및 배송 데이터로 뒷받침될 때 더 큰 영향력을 갖습니다. 정보가 부족한 응답은 Apple이 활용할 근거가 줄어들기 때문에, 증거 없이 선호도만 보내는 것은 증거를 동반한 선호도보다 설득력이 약합니다.

아니요. 최종 결정은 항상 Apple이 내립니다. 정확한 데이터는 가능성을 높여줄 뿐, 거부권을 주지는 않습니다.

#consumption request notification#consumption request fields#consumption api#apple refund data#customerConsented#refundPreference
Refund SensorRefund Sensor TeamRefund defense for App Store and Google Play developers