REST Resource: purchases.subscriptionsv2

리소스: SubscriptionPurchaseV2

사용자의 정기 결제 구매 상태를 나타냅니다.

JSON 표현
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  }
}
입력란
kind

string

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

regionCode

string

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

lineItems[]

object (SubscriptionPurchaseLineItem)

정기 결제 구매의 상품 수준 정보입니다. 동일한 구매에 포함된 상품은 모두 AutoRenewingPlan을 사용하거나 모두 PrepaidPlan을 사용해야 합니다.

startTime

string (Timestamp format)

구독이 부여된 시간입니다. 대기 중인 구독에 설정되지 않았습니다. 구독이 생성되었지만 가입 중에 결제가 대기 중입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

subscriptionState

enum (SubscriptionState)

구독의 현재 상태입니다.

latestOrderId

string

정기 결제 구매와 연결된 최신 주문의 주문 ID입니다. 자동 갱신 구독의 경우 아직 갱신되지 않은 경우 가입 주문의 주문 ID이거나 마지막 반복 주문 ID (성공, 대기 중 또는 거부된 주문)입니다. 선불 구독의 경우 쿼리된 구매 토큰과 연결된 주문 ID입니다.

linkedPurchaseToken

string

이 정기 결제가 다음 중 하나인 경우 이전 정기 결제의 구매 토큰입니다. * 취소되었지만 만료되지 않은 정기 결제 재가입 * 이전 정기 결제에서 업그레이드/다운그레이드합니다. * 선불 요금제에서 자동 갱신되는 정기 결제로 전환합니다. * 자동 갱신 정기 결제에서 선불로 전환합니다. * 선불 정기 결제를 충전합니다.

pausedStateContext

object (PausedStateContext)

일시중지된 정기 결제에 관한 추가 컨텍스트입니다. 구독에 현재 subscriptionState SUBSCRIPTION_STATE_PAUSED가 있는 경우에만 표시됩니다.

canceledStateContext

object (CanceledStateContext)

취소된 정기 결제에 관한 추가 컨텍스트입니다. 구독에 현재 subscriptionState SUBSCRIPTION_STATE_CANCELED가 있는 경우에만 표시됩니다.

testPurchase

object (TestPurchase)

이 정기 결제 구매가 테스트 구매인 경우에만 표시됩니다.

acknowledgementState

enum (AcknowledgementState)

구독의 확인 상태입니다.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

서드 파티 서비스의 사용자 계정 식별자입니다.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

'Google을 통한 구독'으로 이루어진 구매와 연결된 사용자 프로필입니다.

SubscriptionState

정기 결제의 잠재 상태(예: 활성 또는 취소 여부)입니다. 정기 결제 구매 내의 항목은 모두 자동 갱신 요금제 또는 선불 요금제일 수 있습니다.

열거형
SUBSCRIPTION_STATE_UNSPECIFIED 지정되지 않은 구독 상태입니다.
SUBSCRIPTION_STATE_PENDING 구독이 생성되었지만 가입 중에 결제 대기 중입니다. 이 상태에서는 모든 상품이 결제 대기 중입니다.
SUBSCRIPTION_STATE_ACTIVE 구독이 활성 상태입니다. - (1) 구독이 자동 갱신 요금제인 경우 하나 이상의 항목이 autoRenewEnabled이며 만료되지 않았습니다. - (2) 선불 요금제인 경우 하나 이상의 항목은 만료되지 않았습니다.
SUBSCRIPTION_STATE_PAUSED 구독이 일시중지되었습니다. 구독이 자동 갱신 요금제인 경우에만 이 상태를 확인할 수 있습니다. 이 상태에서는 모든 항목이 일시중지 상태입니다.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD 구독이 유예 기간 중입니다. 구독이 자동 갱신 요금제인 경우에만 이 상태를 확인할 수 있습니다. 이 상태에서는 모든 항목이 유예 기간입니다.
SUBSCRIPTION_STATE_ON_HOLD 구독이 보류 중입니다 (정지됨). 구독이 자동 갱신 요금제인 경우에만 이 상태를 확인할 수 있습니다. 이 상태에서는 모든 항목이 보류됩니다.
SUBSCRIPTION_STATE_CANCELED 구독이 취소되었지만 아직 만료되지 않았습니다. 구독이 자동 갱신 요금제인 경우에만 이 상태를 확인할 수 있습니다. 모든 항목의 autoRenewEnabled가 false로 설정되어 있습니다.
SUBSCRIPTION_STATE_EXPIRED 구독이 만료되었습니다. 모든 항목의 expiryTime이 과거입니다.

PausedStateContext

일시중지 상태인 정기 결제와 관련된 정보입니다.

JSON 표현
{
  "autoResumeTime": string
}
입력란
autoResumeTime

string (Timestamp format)

정기 결제가 자동으로 재개되는 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

CanceledStateContext

취소된 상태인 정기 결제와 관련된 정보입니다.

JSON 표현
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
입력란
통합 필드 cancellation_reason. 정기 결제가 취소된 이유입니다. cancellation_reason은 다음 중 하나여야 합니다.
userInitiatedCancellation

object (UserInitiatedCancellation)

사용자가 구독을 취소했습니다.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

결제 문제 등으로 인해 시스템에서 구독이 취소되었습니다.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

개발자가 구독을 취소했습니다.

replacementCancellation

object (ReplacementCancellation)

정기 결제가 새 정기 결제로 대체되었습니다.

UserInitiatedCancellation

사용자가 시작한 취소 관련 정보입니다.

JSON 표현
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
입력란
cancelSurveyResult

object (CancelSurveyResult)

사용자가 정기 결제 취소 절차를 완료할 때 제공하는 정보 (취소 사유 설문조사)

cancelTime

string (Timestamp format)

사용자가 정기 결제를 취소한 시간입니다. 이 기간이 지난 후에도 사용자는 정기 결제 콘텐츠에 계속 액세스할 수 있습니다. lineItems.expiry_time을 사용하여 사용자가 계속 액세스할 수 있는지 확인합니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

CancelSurveyResult

사용자가 정기 결제를 취소했을 때 설문조사 취소 결과입니다.

JSON 표현
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
입력란
reason

enum (CancelSurveyReason)

사용자가 취소 설문조사에서 선택한 이유입니다.

reasonUserInput

string

CANCEL_SURVEY_REASON_OTHERS에 대해서만 설정됩니다. 설문조사에 대한 사용자의 자유 형식 응답입니다.

CancelSurveyReason

사용자가 취소 설문조사에서 선택한 이유입니다.

열거형
CANCEL_SURVEY_REASON_UNSPECIFIED 설문조사 취소 사유가 지정되지 않았습니다.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE 구독 사용량이 충분하지 않습니다.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES 앱 사용 중 발생한 기술적 문제
CANCEL_SURVEY_REASON_FOUND_BETTER_APP 사용자가 더 나은 앱을 찾았습니다.
CANCEL_SURVEY_REASON_OTHERS 기타 이유

SystemInitiatedCancellation

이 유형에는 필드가 없습니다.

Google 시스템에서 시작한 취소 관련 정보입니다.

DeveloperInitiatedCancellation

이 유형에는 필드가 없습니다.

개발자가 시작한 취소 관련 정보입니다.

ReplacementCancellation

이 유형에는 필드가 없습니다.

정기 결제 대체로 인한 취소 관련 정보입니다.

TestPurchase

이 유형에는 필드가 없습니다.

이 정기 결제 구매가 테스트 구매인지 여부입니다.

AcknowledgementState

구독에 대해 가능한 확인 상태입니다.

열거형
ACKNOWLEDGEMENT_STATE_UNSPECIFIED 확인 상태가 지정되지 않았습니다.
ACKNOWLEDGEMENT_STATE_PENDING 구독이 아직 확인되지 않았습니다.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED 구독이 확인되었습니다.

ExternalAccountIdentifiers

서드 파티 서비스의 사용자 계정 식별자입니다.

JSON 표현
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
입력란
externalAccountId

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를 사용하여 지정된 경우에만 표시됩니다.

SubscribeWithGoogleInfo

'Google을 통한 구독'으로 이루어진 구매와 관련된 정보입니다.

JSON 표현
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
입력란
profileId

string

구독을 구매한 시점의 사용자의 Google 프로필 ID입니다.

profileName

string

구독을 구매한 시점의 사용자 프로필 이름입니다.

emailAddress

string

구독을 구매한 시점의 사용자 이메일 주소입니다.

givenName

string

정기 결제가 구매되었을 때 사용자의 이름입니다.

familyName

string

정기 결제 상품을 구매한 사용자의 성입니다.

SubscriptionPurchaseLineItem

정기 결제 구매의 상품 수준 정보입니다.

JSON 표현
{
  "productId": string,
  "expiryTime": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  }
  // End of list of possible types for union field deferred_item_change.
}
입력란
productId

string

구매한 제품 ID입니다 (예: 'monthly001').

expiryTime

string (Timestamp format)

액세스 권한이 연장되지 않는 한 정기 결제가 만료되거나 만료되는 시간입니다 (예: 갱신).

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

통합 필드 plan_type. 구독 요금제 유형입니다. plan_type은 다음 중 하나여야 합니다.
autoRenewingPlan

object (AutoRenewingPlan)

항목이 자동 갱신됩니다.

prepaidPlan

object (PrepaidPlan)

선불 상품입니다.

offerDetails

object (OfferDetails)

이 항목의 혜택 세부정보입니다.

통합 필드 deferred_item_change. 이 필드는 항목에 지연된 변경사항이 있는 경우 표시됩니다. 삭제하거나 교체할 수 있습니다. deferred_item_change은 다음 중 하나여야 합니다.
deferredItemReplacement

object (DeferredItemReplacement)

지연된 항목 교체에 관한 정보입니다.

AutoRenewingPlan

자동 갱신 요금제와 관련된 정보입니다.

JSON 표현
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  }
}
입력란
autoRenewEnabled

boolean

정기 결제가 현재 자동 갱신으로 설정되어 있는 경우(예: 사용자가 정기 결제를 취소하지 않음)

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

정기 결제 가입 후 상품의 마지막 가격 변경에 관한 정보입니다.

SubscriptionItemPriceChangeDetails

정기 결제 항목의 가격 변경 관련 정보입니다.

JSON 표현
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
입력란
newPrice

object (Money)

정기 결제 항목의 새로운 반복 가격

priceChangeMode

enum (PriceChangeMode)

가격 변경 모드는 정기 결제 항목 가격이 변경되는 방식을 지정합니다.

priceChangeState

enum (PriceChangeState)

현재 가격 변경이 적용된 상태입니다.

expectedNewPriceChargeTime

string (Timestamp format)

가격 변경이 사용자에게 적용되는 갱신 시간입니다. 일시중지와 같이 갱신 기간이 변경되는 경우(향후 날짜로) 변경될 수 있습니다. 이 필드는 가격 변경이 적용되지 않은 경우에만 채워집니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

PriceChangeMode

가격 변경 모드입니다.

열거형
PRICE_CHANGE_MODE_UNSPECIFIED 가격 변경 모드가 지정되지 않았습니다. 이 값은 설정하면 안 됩니다.
PRICE_DECREASE 정기 결제 가격이 인하되는 경우
PRICE_INCREASE 정기 결제 가격이 인상되며 사용자가 이를 수락해야 하는 경우
OPT_OUT_PRICE_INCREASE 수신 거부 모드로 구독 가격이 인상되는 경우

PriceChangeState

가격 변경 상태입니다.

열거형
PRICE_CHANGE_STATE_UNSPECIFIED 가격 변경 상태가 지정되지 않았습니다. 이 값을 사용해서는 안 됩니다.
OUTSTANDING 사용자가 요금 변경에 동의할 때까지 기다리는 중입니다.
CONFIRMED 사용자에게 가격 변경이 발생한 것으로 확인되었습니다.
APPLIED 가격 변경이 적용됩니다. 즉, 사용자에게 새 가격이 청구되기 시작했습니다.

PrepaidPlan

선불 요금제와 관련된 정보입니다.

JSON 표현
{
  "allowExtendAfterTime": string
}
입력란
allowExtendAfterTime

string (Timestamp format)

이 기간이 지난 후에 선불 요금제의 충전 구매가 허용됩니다. 만료된 선불 요금제에는 표시되지 않습니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

OfferDetails

구매 항목과 관련된 쿠폰 세부정보입니다.

JSON 표현
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
입력란
offerTags[]

string

혜택과 연결된 최신 혜택 태그입니다. 기본 요금제에서 상속된 태그가 포함됩니다.

basePlanId

string

기본 요금제 ID입니다. 모든 기본 요금제 및 혜택에서 제공됩니다.

offerId

string

오퍼 ID 할인 혜택에만 표시됩니다.

DeferredItemReplacement

지연된 항목 교체와 관련된 정보입니다.

JSON 표현
{
  "productId": string
}
입력란
productId

string

productId가 기존 productId를 대체합니다.

방법

get

정기 결제에 관한 메타데이터 가져오기

revoke

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