REST Resource: purchases.subscriptions

리소스: SubscriptionPurchase

SubscriptionPurchase 리소스는 사용자의 정기 결제 구매 상태를 나타냅니다.

JSON 표현
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
필드
kind

string

이 종류는 androidpublisher 서비스의 subscriptionPurchase 객체를 나타냅니다.

startTimeMillis

string (int64 format)

에포크 이후 구독이 부여된 시간(밀리초)입니다.

expiryTimeMillis

string (int64 format)

구독이 만료되는 시간(에포크 이후 밀리초)입니다.

autoResumeTimeMillis

string (int64 format)

에포크 이후 구독이 자동으로 재개되는 시간(밀리초)입니다. 사용자가 정기 결제 일시중지를 요청한 경우에만 표시됩니다.

autoRenewing

boolean

현재 만료 시간에 도달할 때 정기 결제를 자동으로 갱신할지 여부입니다.

priceCurrencyCode

string

정기 결제 가격의 ISO 4217 통화 코드입니다. 예를 들어 가격이 영국 파운드로 지정되어 있으면 priceCurrencyCode는 'GBP'입니다.

priceAmountMicros

string (int64 format)

정기 결제 가격, 세금 제외 국가의 경우 세금이 포함되지 않음 세금 포함 국가의 경우 세금이 포함된 가격입니다. 가격은 마이크로 단위로 표시되며 1,000,000 마이크로 단위는 통화의 1단위입니다. 예를 들어 구독 가격이 €1.99인 경우 priceAmountMicros는 1990000입니다.

introductoryPriceInfo

object (IntroductoryPriceInfo)

정기 결제의 신규 할인 가격 정보입니다. 신규 할인 가격으로 구독을 구매한 경우에만 제공됩니다.

이 입력란은 정기 결제가 현재 신규 할인 가격 기간 중임을 나타내지 않습니다.

countryCode

string

구독이 부여된 시점 사용자의 ISO 3166-1 alpha-2 청구서 수신 국가/지역 코드입니다.

developerPayload

string

주문의 추가 정보가 포함된 개발자 지정 문자열입니다.

paymentState

integer

정기 결제의 결제 상태입니다. 가능한 값은 0입니다. 결제 보류 중 1. 결제 완료 2. 무료 체험판 3. 지연된 업그레이드/다운그레이드 대기 중

취소되거나 만료된 정기 결제에는 표시되지 않습니다.

cancelReason

integer

정기 결제가 취소되었거나 자동 갱신되지 않는 이유입니다. 가능한 값은 0입니다. 사용자가 정기 결제 1을 취소했습니다. 결제 문제 등으로 인해 시스템에서 정기 결제를 취소했습니다. 2. 정기 결제가 새로운 정기 결제 3으로 대체되었습니다. 개발자가 정기 결제를 취소했습니다.

userCancellationTimeMillis

string (int64 format)

사용자가 정기 결제를 취소한 시간(에포크 이후의 경과 시간(밀리초))입니다. cancelReason이 0인 경우에만 존재합니다.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

사용자가 정기 결제 취소 절차를 완료할 때 제공한 정보입니다 (취소 사유 설문조사).

orderId

string

구독 구매와 연결된 최근 반복 주문의 주문 ID입니다. 결제가 거부되어 정기 결제가 취소된 경우 결제가 거부된 주문의 주문 ID가 됩니다.

linkedPurchaseToken

string

이 정기 결제가 다음 중 하나인 경우 원래 구매의 구매 토큰입니다. 0 취소되었지만 기간이 지나지 않은 정기 결제 재가입 1. 이전 구독에서 업그레이드/다운그레이드

예를 들어 사용자가 처음에 가입하고 구매 토큰 X를 받은 다음, 사용자가 정기 결제를 취소하고 재가입 절차를 거쳐 (정기 결제가 만료되기 전에) 내가 구매 토큰 Y를 받고 마지막으로 사용자가 정기 결제를 업그레이드하고 개발자가 구매 토큰 Z를 받는 경우, 구매 토큰 Z로 이 API를 호출하면 이 필드가 Y로 설정됩니다. 구매 토큰 Y로 이 API를 호출하면 이 필드가 X로 설정됩니다. 구매 토큰 X로 이 API를 호출하면 이 필드가 설정되지 않습니다.

purchaseType

integer

구독 구매 유형입니다. 이 필드는 표준 인앱 결제 흐름을 사용하여 구매하지 않은 경우에만 설정됩니다. 가능한 값은 0입니다. 테스트 (라이선스 테스트 계정에서 구매) 1. 프로모션 (프로모션 코드를 사용하여 구매)

priceChange

object (SubscriptionPriceChange)

최신 가격 변경 정보를 사용할 수 있습니다. 아직 적용되지 않은 구독에 예정된 가격 변경이 있는 경우에만 표시됩니다.

정기 결제가 새로운 가격으로 갱신되거나 정기 결제가 취소되면 가격 변경 정보가 반환되지 않습니다.

profileName

string

구독을 구매한 시점의 사용자의 프로필 이름입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다.

emailAddress

string

구독을 구매한 사용자의 이메일 주소입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다.

givenName

string

구독을 구매할 때 사용자의 이름입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다.

familyName

string

구독을 구매한 사용자의 성입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다.

profileId

string

구독을 구매한 시점의 사용자의 Google 프로필 ID입니다. 'Google을 통한 구독'으로 구매한 경우에만 표시됩니다.

acknowledgementState

integer

정기 결제 제품의 확인 상태입니다. 가능한 값은 0입니다. 아직 승인되지 않음 1. 확인됨

externalAccountId

string

서드 파티 서비스의 사용자 계정 식별자입니다. 정기 결제 구매 흐름의 일부로 계정 연결이 발생한 경우에만 표시됩니다.

promotionType

integer

이 구매에 적용된 프로모션 유형입니다. 이 필드는 구독을 구매할 때 프로모션이 적용된 경우에만 설정됩니다. 가능한 값은 0입니다. 일회성 코드 1입니다. 배니티 코드

promotionCode

string

이 구매에 적용된 프로모션 코드입니다. 이 필드는 구독을 구매할 때 가상 코드 프로모션이 적용된 경우에만 설정됩니다.

obfuscatedExternalAccountId

string

앱에서 사용자 계정과 고유하게 연결된 ID의 난독화된 버전입니다. 다음 구매의 경우 제시: * 구독 구매 흐름의 일부로 계정 연결이 발생한 경우. * 구매 시 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid를 사용하여 지정됩니다.

obfuscatedExternalProfileId

string

앱 내 사용자 프로필과 고유하게 연결된 ID의 난독화된 버전입니다. 구매가 이루어졌을 때 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid를 사용하여 지정된 경우에만 표시됩니다.

IntroductoryPriceInfo

정기 결제의 신규 할인 가격 정보가 포함됩니다.

JSON 표현
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
필드
introductoryPriceCurrencyCode

string

신규 구독 가격의 ISO 4217 통화 코드입니다. 예를 들어 가격이 영국 파운드로 지정되어 있으면 priceCurrencyCode는 'GBP'입니다.

introductoryPriceAmountMicros

string (int64 format)

세금을 제외한 정기 결제의 신규 할인 가격입니다. 통화는 priceCurrencyCode와 동일합니다. 가격은 마이크로 단위로 표시되며 1,000,000 마이크로 단위는 통화의 1단위입니다. 예를 들어 구독 가격이 €1.99인 경우 priceAmountMicros는 1990000입니다.

introductoryPricePeriod

string

ISO 8601 형식으로 지정된 신규 할인 가격 기간입니다. 일반적인 값은 'P1W'이지만 이에 국한되지 않습니다. (1주), 'P1M' (1개월), 'P3M' (3개월), 'P6M' (6개월) 및 'P1Y' (1년).

introductoryPriceCycles

integer

신규 할인 가격을 제공하는 결제 기간 수입니다.

SubscriptionCancelSurveyResult

사용자가 정기 결제 취소 절차를 완료할 때 제공한 정보입니다 (취소 사유 설문조사).

JSON 표현
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
필드
cancelSurveyReason

integer

사용자가 설문조사에서 선택한 취소 이유입니다. 가능한 값은 0입니다. 기타 1. 이 서비스를 많이 사용하지 않음 2. 기술적 문제 3. 비용 관련 이유 4. 더 나은 앱을 찾음

userInputCancelReason

string

사용자의 맞춤설정된 입력 취소 사유입니다. cancelReason이 0인 경우에만 표시됩니다.

SubscriptionPriceChange

앱에서 가격을 변경하기 위한 사용자 여정을 제어하는 데 사용할 수 있는 정기 결제의 가격 변경 정보가 포함됩니다. 사용자의 확인을 요청하거나 성공적인 전환을 위한 경험을 맞춤설정하는 형태일 수 있습니다.

JSON 표현
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
필드
newPrice

object (Price)

사용자가 가격 변경을 수락하면 정기 결제가 갱신되는 새로운 가격입니다.

state

integer

가격 변경의 현재 상태입니다. 가능한 값은 0입니다. 미결제: 사용자가 동의하기를 기다리는 가격 변경 대기 상태입니다. 이 상태에서 선택적으로 In-App API를 사용하여 사용자에게 확인을 요청할 수 있습니다. 1. 수락됨: 수락된 가격 변경이 취소되지 않는 한 정기 결제가 갱신되는 상태입니다. 가격 변경은 구독이 갱신되는 이후 날짜에 적용됩니다. 다음에 구독이 갱신될 때 변경되지 않을 수 있습니다.

메서드

acknowledge

정기 결제 구매를 확인합니다.

cancel

사용자의 정기 결제 구매를 취소합니다.

defer

지정된 향후 만료 시간까지 사용자의 정기 결제 구매를 연기합니다.

get

사용자의 정기 결제 구매가 유효한지 확인하고 만료 시간을 반환합니다.

refund

사용자의 정기 결제 구매를 환불하지만 정기 결제는 만료 시간까지 유효하며 계속 반복됩니다.

revoke

사용자의 정기 결제 구매를 환불하고 즉시 취소합니다.