- 리소스: SubscriptionPurchase
- IintroductionPriceInfo
- SubscriptionCancelSurveyResult
- SubscriptionPriceChange
- 메서드
리소스: SubscriptionPurchase
SubscriptionPurchase 리소스는 사용자의 구독 구매 상태를 나타냅니다.
JSON 표현 |
---|
{ "kind": string, "startTimeMillis": string, "expiryTimeMillis": string, "autoResumeTimeMillis": string, "autoRenewing": boolean, "priceCurrencyCode": string, "priceAmountMicros": string, "introductoryPriceInfo": { object ( |
필드 | |
---|---|
kind |
이 유형은 androidpublisher 서비스의 subscriptionPurchase 객체를 나타냅니다. |
startTimeMillis |
에포크 이후 구독이 부여된 시간(밀리초)입니다. |
expiryTimeMillis |
에포크 이후 구독이 만료되는 시간(밀리초)입니다. |
autoResumeTimeMillis |
에포크 이후 구독이 자동으로 재개되는 시간(밀리초)입니다. 사용자가 정기 결제 일시중지를 요청한 경우에만 표시됩니다. |
autoRenewing |
현재 만료 시간에 도달하면 정기 결제를 자동으로 갱신할지 여부입니다. |
priceCurrencyCode |
구독 가격의 ISO 4217 통화 코드입니다. 예를 들어 가격이 영국 파운드로 지정되면 priceCurrencyCode는 "GBP"입니다. |
priceAmountMicros |
정기 결제 가격, 세금 별도 국가의 경우 세금이 포함되지 않습니다. 세금이 포함된 국가의 경우 가격에 세금이 포함됩니다. 가격은 마이크로 단위로 표시되며, 1,000,000마이크로 단위는 통화의 1단위를 나타냅니다. 예를 들어 정기 결제 가격이 €1.99라면 priceAmountMicros는 1990000입니다. |
introductoryPriceInfo |
정기 결제의 신규 할인 가격 정보입니다. 신규 할인 가격으로 정기 결제를 신청한 경우에만 제공됩니다. 이 필드는 정기 결제가 현재 신규 할인 가격 기간임을 나타내지 않습니다. |
countryCode |
가입이 승인된 시점의 ISO 3166-1 alpha-2 청구서 수신 국가/지역 코드입니다. |
developerPayload |
주문에 대한 추가 정보가 포함된 개발자 지정 문자열입니다. |
paymentState |
구독의 결제 상태입니다. 가능한 값은 0입니다. 결제 보류 1. 결제 금액 2. 무료 체험판 3. 지연된 업그레이드/다운그레이드 대기 중 취소되거나 만료된 정기 결제에는 표시되지 않습니다. |
cancelReason |
정기 결제가 취소되었거나 자동 갱신되지 않는 이유입니다. 가능한 값은 0입니다. 사용자가 정기 결제를 취소했습니다. 1. 시스템에서 구독을 취소했습니다(예: 결제 문제 2). 구독이 새 구독 3으로 대체되었습니다. 개발자가 정기 결제를 취소함 |
userCancellationTimeMillis |
에포크 이후 사용자가 구독을 취소한 시간(밀리초)입니다. cancelReason이 0인 경우에만 표시됩니다. |
cancelSurveyResult |
정기 결제 취소 절차를 완료할 때 사용자가 제공하는 정보 (취소 이유 설문조사) |
orderId |
정기 결제 구매와 연결된 최근 반복 주문의 주문 ID입니다. 결제가 거부되어 정기 결제가 취소된 경우 결제 거부 주문의 주문 ID입니다. |
linkedPurchaseToken |
정기 결제가 다음 중 하나인 경우 원래 구매의 구매 토큰: 0 취소되었지만 만료되지 않은 정기 결제 재가입 1. 이전 구독에서 업그레이드/다운그레이드 예를 들어 사용자가 처음 가입하고 구매 토큰 X를 받은 후에 사용자가 정기 결제 취소 전에 재가입 과정을 거치고 구매 토큰 Y를 받게 되면 마지막으로 사용자가 정기 결제를 업그레이드하고 구매 토큰 Z를 받게 됩니다. 구매 토큰 Z로 이 API를 호출하면 이 필드는 Y로 설정됩니다. 구매 토큰 Y로 이 API를 호출하면 이 필드는 X로 설정됩니다. 구매 토큰 X를 사용하여 이 API를 호출하면 이 필드가 설정되지 않습니다. |
purchaseType |
정기 결제 구매 유형입니다. 이 필드는 표준 인앱 결제 흐름을 사용하여 구매하지 않은 경우에만 설정됩니다. 가능한 값은 0입니다. 테스트 (즉, 라이선스 테스트 계정에서 구매) 1. 프로모션 (프로모션 코드를 사용하여 구매) |
priceChange |
사용 가능한 최신 가격 변경 정보입니다. 아직 적용되지 않은 정기 결제 가격 변경이 예정된 경우에만 존재합니다. 새 가격으로 정기 결제가 갱신되거나 정기 결제가 취소되면 가격 변경 정보가 반환되지 않습니다. |
profileName |
구독을 구매할 때 사용된 사용자의 프로필 이름입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다. |
emailAddress |
구독을 구매할 때 사용한 사용자의 이메일 주소입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다. |
givenName |
정기 결제를 구매할 때 사용한 사용자의 이름입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다. |
familyName |
정기 결제 구매 당시의 사용자 성입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다. |
profileId |
구독을 구매할 때 사용된 사용자의 Google 프로필 ID입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다. |
acknowledgementState |
정기 결제 제품의 확인 상태입니다. 가능한 값은 0입니다. 아직 인정되지는 않습니다. 1. 확인됨 |
externalAccountId |
타사 서비스의 사용자 계정 식별자입니다. 정기 결제 구매 흐름의 일부로 계정 연결이 발생한 경우에만 표시됩니다. |
promotionType |
이 구매에 적용된 프로모션 유형입니다. 이 필드는 정기 결제 구매 시 프로모션이 적용되는 경우에만 설정됩니다. 가능한 값은 0입니다. 일회성 코드 1. 배니티 코드 |
promotionCode |
이 구매에 적용된 프로모션 코드입니다. 이 필드는 구독을 구매할 때 가상 코드 프로모션이 적용되는 경우에만 설정됩니다. |
obfuscatedExternalAccountId |
앱의 사용자 계정과 고유하게 연결된 ID의 난독화된 버전입니다. 다음 구매와 관련해 표시됩니다. * 정기 결제 구매 흐름의 일부로 계정 연결이 발생한 경우. * 구매 시 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setbolddaccountid를 사용해 명시했습니다. |
obfuscatedExternalProfileId |
앱의 사용자 프로필과 고유하게 연결된 ID의 난독화된 버전입니다. 구매 시 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setitalicdprofileid를 사용하여 지정된 경우에만 표시됩니다. |
신규 할인 가격 정보
정기 결제의 신규 할인 가격 정보가 포함되어 있습니다.
JSON 표현 |
---|
{ "introductoryPriceCurrencyCode": string, "introductoryPriceAmountMicros": string, "introductoryPricePeriod": string, "introductoryPriceCycles": integer } |
필드 | |
---|---|
introductoryPriceCurrencyCode |
신규 정기 결제 가격의 ISO 4217 통화 코드입니다. 예를 들어 가격이 영국 파운드로 지정되면 priceCurrencyCode는 "GBP"입니다. |
introductoryPriceAmountMicros |
정기 결제 신규 할인 가격(세금 제외) 통화가 priceCurrencyCode와 동일합니다. 가격은 마이크로 단위로 표시되며, 1,000,000마이크로 단위는 통화의 1단위를 나타냅니다. 예를 들어 정기 결제 가격이 €1.99라면 priceAmountMicros는 1990000입니다. |
introductoryPricePeriod |
ISO 8601 형식으로 지정된 신규 할인 가격 기간입니다. 일반적인 값은 P1W(1주일), P1M(1개월), P3M(3개월), P6M(6개월), P1Y(1년)입니다. |
introductoryPriceCycles |
신규 할인 가격을 제공할 결제 기간 수입니다. |
구독 취소 설문조사 결과
정기 결제 취소 절차를 완료할 때 사용자가 제공하는 정보 (취소 이유 설문조사)
JSON 표현 |
---|
{ "cancelSurveyReason": integer, "userInputCancelReason": string } |
필드 | |
---|---|
cancelSurveyReason |
사용자가 설문조사에서 선택한 취소 사유입니다. 가능한 값은 0입니다. 기타 1. 이 서비스를 충분히 사용하지 않습니다. 2. 기술적 문제 3. 비용 관련 이유 4. 더 나은 앱을 찾음 |
userInputCancelReason |
사용자의 맞춤 입력 취소 사유입니다. cancelReason이 0인 경우에만 표시됩니다. |
정기 결제 가격 변경
앱의 가격 변경에 관한 사용자 경험을 제어하는 데 사용할 수 있는 정기 결제의 가격 변경 정보가 포함되어 있습니다. 사용자에게 확인을 요청하거나 성공적인 전환을 위해 환경을 맞춤설정하는 형태일 수 있습니다.
JSON 표현 |
---|
{
"newPrice": {
object ( |
필드 | |
---|---|
newPrice |
사용자가 가격 변경을 수락하면 정기 결제가 갱신되는 새 가격입니다. |
state |
가격 변경의 현재 상태입니다. 가능한 값은 0입니다. 미결제: 사용자가 동의할 때까지 대기 중인 가격 변경 상태입니다. 이 상태에서는 In-App API를 사용하여 사용자에게 확인을 요청할 수도 있습니다. 1. 수락됨: 정기 결제가 취소되지 않는 한 정기 결제가 갱신되는 허용되는 가격 변경에 관한 상태입니다. 가격 변경은 구독이 갱신되는 미래 날짜에 적용됩니다. 다음에 정기 결제가 갱신될 때는 변경사항이 적용되지 않을 수 있습니다. |
메서드 |
|
---|---|
|
정기 결제 구매를 확인합니다. |
|
사용자의 정기 결제 구매를 취소합니다. |
|
지정된 향후 만료 시간까지 사용자의 정기 결제 구매를 연기합니다. |
|
사용자의 정기 결제 구매가 유효한지 확인하고 만료 시간을 반환합니다. |
|
사용자의 정기 결제 구매를 환불하지만 정기 결제는 만료 시간까지 유효하며 계속 반복됩니다. |
|
사용자의 정기 결제 구매를 환불하고 즉시 취소합니다. |