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)、下划线 (_) 和句点 (.)。此外,商品 ID 必须以小写字母或数字开头,长度介于 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。相应基础方案的类型。只能设置一个值。基础方案一经创建,其类型便不可更改。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 和 30D 或基础方案结算周期(以较短者为准)之间。

如果未指定,系统将根据结算周期使用默认值。

gracePeriodDuration 和 accountHoldDuration 的总和必须介于 P30D 到 P60D 之间(包括这两个数值)。

accountHoldDuration

string

可选。订阅的账号冻结期,采用 ISO 8601 格式指定。可接受的值必须以天为单位,且必须介于 P0D 到 P60D 之间。

如果未指定,则默认值为 P30D。

gracePeriodDuration 和 accountHoldDuration 的总和必须介于 P30D 到 P60D 之间(包括这两个数值)。

resubscribeState

enum (ResubscribeState)

用户是否应该能够在 Google Play 途径中重新订阅相应基础方案。如果未指定,则默认为 RESUBSCRIBE_STATE_ACTIVE。

prorationMode

enum (SubscriptionProrationMode)

基础方案的按比例计费模式决定了当用户从其他基础方案切换到相应方案时会发生什么。如果未指定,则默认为 CHARGE_ON_NEXT_BILLING_DATE。

legacyCompatible

boolean

续订型基础方案是否向后兼容。

向后兼容的基础方案由 Google Play 结算库已弃用的 querySkuDetailsAsync() 方法返回。

对于指定订阅,只有一个续订型基础方案可以标记为与旧版兼容。

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 和 30D(以二者中较小者为准)之间。

如果未指定,系统将根据结算周期使用默认值。

gracePeriodDuration 和 accountHoldDuration 的总和必须介于 P30D 到 P60D 之间(包括这两个数值)。

accountHoldDuration

string

可选。订阅的账号冻结期,采用 ISO 8601 格式指定。可接受的值必须以天为单位,且必须介于 P0D 到 P60D 之间。

如果未指定,则默认值为 P30D。

gracePeriodDuration 和 accountHoldDuration 的总和必须介于 P30D 到 P60D 之间(包括这两个数值)。

resubscribeState

enum (ResubscribeState)

用户是否应该能够在 Google Play 途径中重新订阅相应基础方案。如果未指定,则默认为 RESUBSCRIBE_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 未来可能新增的任何地区使用的价格(美元)。

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 商店等平台和恢复流程中向用户显示的福利列表(采用相应商品详情所用的语言)。纯文本。包含最多四个福利的有序列表。

description

string

相应订阅的说明(采用相应商品详情所用的语言)。长度上限:80 个字符。纯文本。

RestrictedPaymentCountries

在相应国家/地区,必须使用在本国家/地区注册的付款方式来购买相应商品。如果为空,则表示未施加任何支付地点限制。

JSON 表示法
{
  "regionCodes": [
    string
  ]
}
字段
regionCodes[]

string

必需。用于施加付款限制的地区代码,由 ISO 3166-2 定义,例如地区代码“US”表示美国。

方法

archive
(deprecated)

已弃用:订阅归档不受支持。

batchGet

读取一项或多项订阅。

batchUpdate

更新一批订阅。

create

创建新订阅。

delete

删除订阅。

get

读取单个订阅。

list

列出指定应用下的全部订阅。

patch

更新现有订阅。