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)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"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 订阅已过期。所有项的过期时间都是过去的时间。

PausedStateContext

处于暂停状态的订阅的专属信息。

JSON 表示法
{
  "autoResumeTime": string
}
字段
autoResumeTime

string (Timestamp format)

自动恢复订阅的时间。

时间戳,采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"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)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"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)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"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)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"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)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"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

撤消用户的订阅购买交易。