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 Service 中的 SubscriptionPurchaseV2 物件。

regionCode

string

使用者獲得訂閱項目時的 ISO 3166-1 alpha-2 帳單國家/地區代碼。

lineItems[]

object (SubscriptionPurchaseLineItem)

訂閱項目購買交易的商品層級資訊。同一筆訂單中的商品必須都使用 AutoRenewingPlan 或搭配 PrepaidPlan。

startTime

string (Timestamp format)

提供訂閱的時間。未設定待處理訂閱項目 (已建立訂閱項目,但仍在申請期間等待付款)。

RFC3339 世界標準時間「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 或 SUBSCRIPTION_STATE_EXPIRED 時才會顯示。

testPurchase

object (TestPurchase)

只有在此訂閱交易是測試用的購買交易時才會顯示。

acknowledgementState

enum (AcknowledgementState)

訂閱項目的確認狀態。

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

第三方服務中的使用者帳戶 ID,

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 訂閱已過期。所有項目皆設有到期日。
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED 訂閱項目的待處理交易已取消。如果這筆待處理的購買交易屬於現有的訂閱項目,請使用 linkPurchaseToken 取得該訂閱項目的目前狀態。

PausedStateContext

暫停狀態訂閱項目的專屬資訊。

JSON 表示法
{
  "autoResumeTime": string
}
欄位
autoResumeTime

string (Timestamp format)

自動恢復訂閱的時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

CanceledStateContext

訂閱在 SUBSCRIPTION_STATE_CANCELED 或 SUBSCRIPTION_STATE_EXPIRED 狀態的訂閱項目專屬資訊。

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 世界標準時間「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

第三方服務中的使用者帳戶 ID,

JSON 表示法
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
欄位
externalAccountId

string

第三方服務中的使用者帳戶 ID,只有在訂閱購買流程中發生帳戶連結時才會顯示。

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 世界標準時間「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)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  }
}
欄位
autoRenewEnabled

boolean

如果訂閱項目目前設為自動續約 (例如:使用者尚未取消訂閱

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

自訂閱訂閱以來,上次價格異動的資訊。

installmentDetails

object (InstallmentPlan)

自動續約方案的承諾使用價格和狀態相關資訊。

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)

使用者續訂價格生效的時間。由於續約時間發生轉變(例如暫停),因此這個 ID 可能會在未來發生變化。只有在價格異動未生效時,系統才會填入這個欄位。

RFC3339 世界標準時間「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 套用價格異動,也就是開始向使用者收取新價格。

InstallmentPlan

分期付款方案的資訊。

JSON 表示法
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
欄位
initialCommittedPaymentsCount

integer

使用者最初承諾的付款總數。

subsequentCommittedPaymentsCount

integer

使用者在每個約期結束後的承諾付款總數。空白表示分期付款方案會在初次綁約後改回一般自動續約型方案。

remainingCommittedPaymentsCount

integer

要在這個續約週期中支付的剩餘應繳款項總數。

pendingCancellation

object (PendingCancellation)

如有出現,就無法取消這項分期付款方案。只有在使用者完成所有承諾使用費用後,系統才會取消。

PendingCancellation

這個類型沒有任何欄位。

這項指標會指出虛擬分期付款方案是否有待處理的取消交易。只有在使用者完成所有承諾使用費用後,系統才會取消。

PrepaidPlan

預付方案相關資訊。

JSON 表示法
{
  "allowExtendAfterTime": string
}
欄位
allowExtendAfterTime

string (Timestamp format)

如果有的話,系統會在這段時間內開放預付方案儲值。預付方案過期後就不會顯示。

RFC3339 世界標準時間「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

要取代現有產品 ID 的 productId。

方法

get

取得訂閱項目的中繼資料

revoke

撤銷使用者的訂閱購買交易。