REST Resource: monetization.subscriptions

資源:Subscription

單一應用程式訂閱項目。

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

必要欄位。不可變動。這個基本方案的專屬 ID。在訂閱項目中不得重複,且必須符合 RFC-1034。也就是說,這個 ID 只能包含小寫字母 (a-z)、數字 (0-9) 和連字號 (-),長度上限為 63 個字元。

state

enum (State)

僅供輸出。基本方案的狀態,也就是是否處於有效狀態。您可以啟用或刪除草稿和停用的基本方案。有效的基本方案可以停用。您可以取消未啟用的基礎方案。您無法透過更新資源來變更這個欄位。請改用專屬端點。

regionalConfigs[]

object (RegionalBasePlanConfig)

這個基礎方案的區域專屬資訊。

offerTags[]

object (OfferTag)

為這個基本方案指定的最多 20 個自訂標記清單,並透過帳款服務程式庫傳回至應用程式。這項基本方案的訂閱優惠也會在帳單資料庫中收到這些優惠標記。

otherRegionsConfig

object (OtherRegionsBasePlanConfig)

日後 Play 可能會推出的任何新地區的價格資訊。如果省略,BasePlan 就不會自動提供 Play 日後推出的新地點。

聯集欄位 base_plan_type。這個基本方案的類型。必須明確設定一個。建立基礎方案後,就無法變更基礎方案類型。base_plan_type 只能是下列其中一項:
autoRenewingBasePlanType

object (AutoRenewingBasePlanType)

設定基本方案的自動續訂間隔。

prepaidBasePlanType

object (PrepaidBasePlanType)

在帳單週期結束時,如果 Base Plan 未自動續訂,請設定此值。

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 和 30 天 (以先到者為準) 之間,且不得超過基本方案的帳單週期。

如未指定,系統會根據帳單週期使用預設值。

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 和 30 天 (以先到者為準) 之間,且不得超過基本方案的帳單週期。

如未指定,系統會根據帳單週期使用預設值。

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

基本方案是否可供新訂閱者在 Google 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

更新現有訂閱項目。