REST Resource: monetization.subscriptions

리소스: 구독

앱의 단일 정기 결제입니다.

JSON 표현
{
  "packageName": string,
  "productId": string,
  "basePlans": [
    {
      object (BasePlan)
    }
  ],
  "listings": [
    {
      object (SubscriptionListing)
    }
  ],
  "archived": boolean,
  "taxAndComplianceSettings": {
    object (SubscriptionTaxAndComplianceSettings)
  },
  "restrictedPaymentCountries": {
    object (RestrictedPaymentCountries)
  }
}
필드
packageName

string

변경할 수 없습니다. 상위 앱의 패키지 이름입니다.

productId

string

변경할 수 없습니다. 제품의 고유 제품 ID입니다. 상위 앱 내에서 고유합니다. 상품 ID는 소문자 (a~z), 숫자 (0~9), 밑줄 (_), 마침표 (.)로 구성되어야 합니다. 소문자 또는 숫자로 시작해야 하며 1~40자 (영문 기준) 사이여야 합니다.

basePlans[]

object (BasePlan)

이 정기 결제의 기본 요금제 집합입니다. 다른 혜택이 적용되지 않는 경우 구독의 가격과 기간을 나타냅니다.

listings[]

object (SubscriptionListing)

필수 항목입니다. 이 정기 결제의 현지화된 등록정보 목록입니다. 상위 앱의 기본 언어에 대한 항목을 하나 이상 포함해야 합니다.

archived
(deprecated)

boolean

출력 전용입니다. 지원 중단됨: 구독 보관처리는 지원되지 않습니다.

taxAndComplianceSettings

object (SubscriptionTaxAndComplianceSettings)

세금 및 법률 준수에 관한 세부정보

restrictedPaymentCountries

object (RestrictedPaymentCountries)

선택사항입니다. 동일한 국가에 등록된 결제 수단으로만 정기 결제 상품을 구매할 수 있는 국가입니다. 비어 있으면 결제 위치 제한이 적용되지 않습니다.

BasePlan

정기 결제의 단일 기본 요금제입니다.

JSON 표현
{
  "basePlanId": string,
  "state": enum (State),
  "regionalConfigs": [
    {
      object (RegionalBasePlanConfig)
    }
  ],
  "offerTags": [
    {
      object (OfferTag)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsBasePlanConfig)
  },

  // Union field base_plan_type can be only one of the following:
  "autoRenewingBasePlanType": {
    object (AutoRenewingBasePlanType)
  },
  "prepaidBasePlanType": {
    object (PrepaidBasePlanType)
  },
  "installmentsBasePlanType": {
    object (InstallmentsBasePlanType)
  }
  // End of list of possible types for union field base_plan_type.
}
필드
basePlanId

string

필수 항목입니다. 변경할 수 없습니다. 이 기본 요금제의 고유 식별자입니다. 구독 내에서 고유해야 하며 RFC-1034를 준수해야 합니다. 즉, 이 ID에는 소문자(a~z), 숫자(0~9), 하이픈(-)만 포함할 수 있으며 63자(영문 기준) 이하여야 합니다.

state

enum (State)

출력 전용입니다. 기본 요금제의 상태입니다(예: 활성 상태인지 여부). 초안 및 비활성 기본 요금제는 활성화하거나 삭제할 수 있습니다. 활성 기본 요금제를 비활성화할 수 있습니다. 비활성 기본 요금제는 취소할 수 있습니다. 이 필드는 리소스를 업데이트하여 변경할 수 없습니다. 대신 전용 엔드포인트를 사용하세요.

regionalConfigs[]

object (RegionalBasePlanConfig)

이 기본 요금제의 지역별 정보입니다.

offerTags[]

object (OfferTag)

이 기본 요금제에 지정된 최대 20개의 커스텀 태그 목록으로, 결제 라이브러리를 통해 앱에 반환됩니다. 이 기본 요금제의 정기 결제 혜택의 결제 라이브러리에도 이러한 혜택 태그가 표시됩니다.

otherRegionsConfig

object (OtherRegionsBasePlanConfig)

향후 Play에서 출시될 새 지역의 가격 정보입니다. 이를 생략하면 향후 Play에서 새로운 지역이 출시될 경우 BasePlan이 자동으로 제공되지 않습니다.

통합 필드 base_plan_type. 이 기본 요금제의 유형입니다. 정확히 1개를 설정해야 합니다. base_plan_type은 다음 중 하나여야 합니다.
autoRenewingBasePlanType

object (AutoRenewingBasePlanType)

기본 요금제가 정기적으로 자동 갱신되는 시점을 설정합니다.

prepaidBasePlanType

object (PrepaidBasePlanType)

결제 기간이 끝날 때 기본 요금제가 자동으로 갱신되지 않는 경우 설정합니다.

installmentsBasePlanType

object (InstallmentsBasePlanType)

사용자가 지정된 횟수만큼 결제한 할부 기본 요금제에 설정합니다.

기본 요금제의 현재 상태입니다.

열거형
STATE_UNSPECIFIED 지정되지 않은 상태.
DRAFT 기본 요금제가 현재 임시 상태이며 활성화되지 않았습니다. 이 시점에서 안전하게 삭제할 수 있습니다.
ACTIVE 기본 요금제가 활성 상태이며 신규 정기 결제 사용자에게 제공됩니다.
INACTIVE 기본 요금제가 비활성 상태이며 기존 정기 결제 사용자만 사용할 수 있습니다.

AutoRenewingBasePlanType

구독 기간이 끝날 때 자동으로 갱신되는 기본 요금제를 나타냅니다.

JSON 표현
{
  "billingPeriodDuration": string,
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode),
  "legacyCompatible": boolean,
  "legacyCompatibleSubscriptionOfferId": string
}
필드
billingPeriodDuration

string

필수 항목입니다. ISO 8601 형식으로 지정된 구독 기간입니다. 허용되는 결제 기간의 목록은 고객센터를 참조하세요.

gracePeriodDuration

string

ISO 8601 형식으로 지정된 정기 결제 유예 기간입니다. 허용되는 값은 P0D (0일), P3D (3일), P7D (7일), P14D (14일), P30D (30일)입니다. 지정하지 않으면 반복 기간 기간을 기준으로 기본값이 사용됩니다.

accountHoldDuration

string

선택사항입니다. ISO 8601 형식으로 지정된 정기 결제의 계정 보류 기간입니다. 허용되는 값은 DAYS(일)이어야 하며 P0D(0일)에서 P30D(30일) 이내여야 합니다. 지정하지 않으면 기본값은 P30D (30일)입니다.

resubscribeState

enum (ResubscribeState)

사용자가 Google Play 표시 경로에서 이 기본 요금제를 다시 정기 결제할 수 있는지 여부입니다. 지정하지 않을 경우 기본값은 RESUBSCRIPTION_STATE_ACTIVE입니다.

prorationMode

enum (SubscriptionProrationMode)

기본 요금제의 비례 배분 모드에 따라 사용자가 다른 기본 요금제에서 이 요금제로 전환하면 어떻게 되는지가 결정됩니다. 지정하지 않을 경우 기본값은 CHARGE_ON_NEXT_BILLING_DATE입니다.

legacyCompatible

boolean

갱신하는 기본 요금제의 이전 버전과의 호환 여부

이전 버전과 호환되는 기본 요금제는 Google Play 결제 라이브러리의 지원 중단된 메서드 querySkuDetailsAsync()에서 반환됩니다.

갱신 기본 요금제 1개만 해당 정기 결제에서 기존 버전과 호환되는 것으로 표시할 수 있습니다.

legacyCompatibleSubscriptionOfferId

string

기존 버전과 호환되는 정기 결제 혜택 ID입니다.

이전 버전과 호환되는 정기 결제 혜택은 Google Play 결제 라이브러리의 지원 중단된 메서드 querySkuDetailsAsync()에서 반환됩니다.

갱신되는 기본 요금제에서 하나의 정기 결제 혜택만 기존 버전과 호환되는 것으로 표시할 수 있습니다.

기존 버전과 호환되는 정기 결제 혜택이 없으면 이 필드를 빈 문자열로 설정합니다.

ResubscribeState

기본 요금제 정기 결제 재신청 상태입니다.

열거형
RESUBSCRIBE_STATE_UNSPECIFIED 지정되지 않은 상태.
RESUBSCRIBE_STATE_ACTIVE 정기 결제 재신청이 활성 상태입니다.
RESUBSCRIBE_STATE_INACTIVE 정기 결제 재신청이 비활성 상태입니다.

SubscriptionProrationMode

기본 요금제 갱신에 사용되는 비례 배분 모드입니다.

열거형
SUBSCRIPTION_PRORATION_MODE_UNSPECIFIED 지정되지 않은 모드입니다.
SUBSCRIPTION_PRORATION_MODE_CHARGE_ON_NEXT_BILLING_DATE 현재 결제 기간이 종료될 때 새 기본 요금제의 요금이 사용자에게 청구됩니다.
SUBSCRIPTION_PRORATION_MODE_CHARGE_FULL_PRICE_IMMEDIATELY 새 기본 요금제 요금이 사용자에게 즉시 전액 청구됩니다. 기존 구독의 남은 기간은 새 요금제의 기간을 연장하는 데 사용됩니다.

PrepaidBasePlanType

기본 요금제가 종료될 때 자동으로 갱신되지 않는 기본 요금제를 나타내며, 사용자가 수동으로 갱신해야 합니다.

JSON 표현
{
  "billingPeriodDuration": string,
  "timeExtension": enum (TimeExtension)
}
필드
billingPeriodDuration

string

필수 항목입니다. ISO 8601 형식으로 지정된 구독 기간입니다. 허용되는 결제 기간의 목록은 고객센터를 참조하세요.

timeExtension

enum (TimeExtension)

사용자가 Google Play 표시 경로에서 이 선불 기본 요금제를 연장할 수 있어야 하는지 여부입니다. 지정하지 않을 경우 기본값은 TIME_EXTENSION_ACTIVE입니다.

TimeExtension

기본 요금제의 기간이 연장됩니다.

열거형
TIME_EXTENSION_UNSPECIFIED 지정되지 않은 상태.
TIME_EXTENSION_ACTIVE 시간 연장이 사용 중입니다. 사용자는 선불 요금제를 충전하거나 연장할 수 있습니다.
TIME_EXTENSION_INACTIVE 시간 연장이 비활성 상태입니다. 사용자는 선불 요금제를 충전하거나 연장할 수 없습니다.

InstallmentsBasePlanType

사용자가 지정된 횟수로 약정하는 할부 기본 요금제를 나타냅니다.

JSON 표현
{
  "billingPeriodDuration": string,
  "committedPaymentsCount": integer,
  "renewalType": enum (RenewalType),
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode)
}
필드
billingPeriodDuration

string

필수 항목입니다. ISO 8601 형식으로 지정된 구독 기간입니다. 허용되는 결제 기간의 목록은 고객센터를 참조하세요.

committedPaymentsCount

integer

필수 항목입니다. 사용자가 약정한 결제 횟수입니다.

renewalType

enum (RenewalType)

필수 항목입니다. 할부 기본 요금제 갱신 유형입니다. 초기 약정 종료 시 동작을 결정합니다.

gracePeriodDuration

string

ISO 8601 형식으로 지정된 정기 결제 유예 기간입니다. 허용되는 값은 P0D (0일), P3D (3일), P7D (7일), P14D (14일), P30D (30일)입니다. 지정하지 않으면 반복 기간 기간을 기준으로 기본값이 사용됩니다.

accountHoldDuration

string

선택사항입니다. 정기 결제의 계정 보류 기간으로, ISO 8601 형식으로 일 단위로만 지정됩니다. 허용되는 값은 P0D (0일)~P30D (30일)입니다. 지정하지 않으면 기본값은 P30D (30일)입니다.

resubscribeState

enum (ResubscribeState)

사용자가 Google Play 표시 경로에서 이 기본 요금제를 다시 정기 결제할 수 있는지 여부입니다. 지정하지 않을 경우 기본값은 RESUBSCRIPTION_STATE_ACTIVE입니다.

prorationMode

enum (SubscriptionProrationMode)

기본 요금제의 비례 배분 모드에 따라 사용자가 다른 기본 요금제에서 이 요금제로 전환하면 어떻게 되는지가 결정됩니다. 지정하지 않을 경우 기본값은 CHARGE_ON_NEXT_BILLING_DATE입니다.

RenewalType

할부 기본 요금제 갱신 유형입니다. 초기 약정 종료 시 동작을 결정합니다.

열거형
RENEWAL_TYPE_UNSPECIFIED 지정되지 않은 상태.
RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT 약정 없이 결제 기간 동안 주기적으로 갱신됩니다.
RENEWAL_TYPE_RENEWS_WITH_COMMITMENT 처음 약정과 동일한 기간의 약정으로 갱신됩니다.

RegionalBasePlanConfig

지역과 관련된 기본 요금제의 구성입니다.

JSON 표현
{
  "regionCode": string,
  "newSubscriberAvailability": boolean,
  "price": {
    object (Money)
  }
}
필드
regionCode

string

필수 항목입니다. ISO 3166-2에 정의된 대로 이 구성이 적용되는 지역 코드입니다(예: 'US'.

newSubscriberAvailability

boolean

특정 지역의 기본 요금제가 신규 정기 결제 사용자에게 제공되는지 여부입니다. 이 값을 false로 설정하면 기존 정기 결제 사용자의 정기 결제가 취소되지 않습니다. 지정하지 않으면 기본값은 false입니다.

price

object (Money)

지정된 지역의 기본 요금제 가격입니다. 신규 정기 결제 사용자가 기본 요금제를 사용할 수 있는 경우 설정해야 합니다. 지정된 지역에 연결된 통화로 설정해야 합니다.

OtherRegionsBasePlanConfig

Play가 출시될 수 있는 새로운 지역의 가격 정보입니다.

JSON 표현
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  },
  "newSubscriberAvailability": boolean
}
필드
usdPrice

object (Money)

필수 항목입니다. Play가 출시되는 새로운 국가에서 사용할 수 있는 미국 달러(USD) 가격

eurPrice

object (Money)

필수 항목입니다. Play가 출시되는 새로운 국가에서 사용할 수 있는 가격(유로)입니다.

newSubscriberAvailability

boolean

Play가 출시될 수 있는 모든 새로운 지역에서 신규 정기 결제 사용자가 기본 요금제를 이용할 수 있는지 여부입니다. 지정하지 않으면 기본값은 false입니다.

SubscriptionListing

소비자에게 표시되는 구독의 메타데이터입니다.

JSON 표현
{
  "languageCode": string,
  "title": string,
  "benefits": [
    string
  ],
  "description": string
}
필드
languageCode

string

필수 항목입니다. BCP-47에 정의된 이 등록정보의 언어입니다. 예: 'en-US').

title

string

필수 항목입니다. 이 등록정보의 언어로 된 이 구독의 제목입니다. 일반 텍스트

benefits[]

string

Play 스토어와 같은 플랫폼 및 복원 절차에서 이 등록정보에 사용된 언어로 사용자에게 표시되는 혜택 목록입니다. 일반 텍스트 최대 4개의 혜택이 나열된 순서 목록입니다.

description

string

등록정보의 언어로 표시되는 구독에 대한 설명입니다. 최대 길이 - 80자(영문 기준) 일반 텍스트

RestrictedPaymentCountries

동일한 국가에 등록된 결제 수단으로만 제품을 구매할 수 있는 국가입니다. 비어 있으면 결제 위치 제한이 적용되지 않습니다.

JSON 표현
{
  "regionCodes": [
    string
  ]
}
필드
regionCodes[]

string

필수 항목입니다. ISO 3166-2에 정의된 바에 따라 결제 제한을 적용할 지역 코드입니다(예: 'US'.

메서드

archive
(deprecated)

지원 중단됨: 구독 보관처리는 지원되지 않습니다.

batchGet

하나 이상의 구독을 읽습니다.

batchUpdate

구독 배치를 업데이트합니다.

create

새 구독을 만듭니다.

delete

구독정보를 삭제합니다.

get

단일 구독을 읽습니다.

list

지정된 앱의 모든 정기 결제를 나열합니다.

patch

기존 구독을 업데이트합니다.