REST Resource: purchases.subscriptions

资源:SubscriptionPurchase

SubscriptionPurchase 资源指示用户订阅购买的状态。

JSON 表示法
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
字段
kind

string

此种类表示 androidpublisher 服务中的 subscriptionPurchase 对象。

startTimeMillis

string (int64 format)

授予订阅的时间(以毫秒为单位,从 Epoch 起算)。

expiryTimeMillis

string (int64 format)

订阅的到期时间(以毫秒为单位,从 Epoch 起算)。

autoResumeTimeMillis

string (int64 format)

自动恢复订阅的时间(以从公元纪年开始计算的毫秒数表示)。仅当用户请求暂停订阅时,此字段才会显示。

autoRenewing

boolean

指定订阅是否将在到期时自动续订。

priceCurrencyCode

string

订阅价格的 ISO 4217 货币代码。例如,如果价格采用英镑表示,则 priceCurrencyCode 为“GBP”。

priceAmountMicros

string (int64 format)

订阅价格。对于不含税的国家/地区,此价格不含税。对于含税价格的国家/地区,价格含税。价格以微单位表示,其中 1,000,000 个微单位表示一个单位的货币。例如,如果订阅价格为 1.99 欧元,则 priceAmountMicros 为 1990000。

introductoryPriceInfo

object (IntroductoryPriceInfo)

相应订阅的初次体验价信息。仅当以初次体验价购买订阅时,此字段才会显示。

此字段不表示订阅目前处于初次体验价期。

countryCode

string

授予订阅时用户的 ISO 3166-1 alpha-2 账单邮寄地址所在国家/地区代码。

developerPayload

string

开发者指定的字符串,其中包含有关订单的补充信息。

paymentState

integer

订阅的付款状态。可能的值包括:0。付款待处理 1. 付款已收讫 2. 免费试用 3. 待推迟升级/降级

不适用于已取消、已过期的订阅。

cancelReason

integer

订阅被取消或未自动续订的原因。可能的值包括:0。用户取消订阅 1. 系统(例如由于结算问题)取消订阅 2. 订阅被替换为新订阅 3. 开发者已取消订阅

userCancellationTimeMillis

string (int64 format)

用户取消订阅的时间,以从公元纪年开始计算的毫秒数表示。仅当 cancelReason 为 0 时,此字段才会显示。

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

用户在完成订阅取消流程时提供的信息(取消原因调查问卷)。

orderId

string

与订阅购买相关联的最新周期性订单的订单 ID。如果订阅因付款遭拒而被取消,这将是付款遭拒订单中的订单 ID。

linkedPurchaseToken

string

原始购买交易的购买令牌(如果此订阅为以下其中一项):0。重新注册已取消但未失效的订阅。1. 从先前的订阅升级/降级

例如,假设某位用户最初进行了注册,您收到了购买令牌 X,然后该用户取消了订阅并完成重新注册流程(在其订阅失效之前),而您又收到了购买令牌 Y,最后该用户升级了订阅,您又收到了购买令牌 Z。如果您使用购买令牌 Z 调用此 API,此字段将设置为 Y。如果您使用购买令牌 Y 调用此 API,此字段将设置为 X。如果您使用购买令牌 X 调用此 API,系统将不会设置此字段。

purchaseType

integer

订阅的购买类型。仅当此购买交易并非通过标准应用内结算流程完成时,才需要设置此字段。可能的值包括:0。测试(即通过许可测试帐号购买)1.促销(即使用促销代码购买)

priceChange

object (SubscriptionPriceChange)

提供最新的价格变动信息。仅当相应订阅即将发生价格变动时,系统才会显示此价格。

您以新价格续订或取消订阅后,系统将不会返回任何价格变动信息。

profileName

string

购买订阅时用户的个人资料名称。仅适用于通过“通过 Google 订阅”进行的购买交易。

emailAddress

string

购买订阅时的用户的电子邮件地址。仅适用于通过“通过 Google 订阅”进行的购买交易。

givenName

string

用户购买订阅时指定的名称。仅适用于通过“通过 Google 订阅”进行的购买交易。

familyName

string

购买订阅的用户的系列名称。仅适用于通过“通过 Google 订阅”进行的购买交易。

profileId

string

购买订阅的用户的 Google 个人资料 ID。仅适用于通过“通过 Google 订阅”进行的购买交易。

acknowledgementState

integer

订阅产品的确认状态。可能的值包括:0。尚未确认 1. 已确认

externalAccountId

string

第三方服务中的用户账号标识符。仅当帐号关联是在订阅购买流程中发生的时,此字段才会显示。

promotionType

integer

此次购买交易适用的促销活动类型。只有在购买订阅时应用了促销活动,才能设置此字段。可能的值包括:0。一次性代码 1。个性化代码

promotionCode

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 指定时,此字段才会显示。

IntroductoryPriceInfo

包含订阅的初次体验价信息。

JSON 表示法
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
字段
introductoryPriceCurrencyCode

string

初次体验价订阅价格的 ISO 4217 货币代码。例如,如果价格采用英镑表示,则 priceCurrencyCode 为“GBP”。

introductoryPriceAmountMicros

string (int64 format)

订阅的初次体验价(不含税)。币种与 priceCurrencyCode 相同。价格以微单位表示,其中 1,000,000 个微单位表示一个单位的货币。例如,如果订阅价格为 1.99 欧元,则 priceAmountMicros 为 1990000。

introductoryPricePeriod

string

初次体验价期限,采用 ISO 8601 格式指定。常用值为(但不限于)“P1W”(一周)、“P1M”(一个月)、“P3M”(三个月)、“P6M”(六个月)和“P1Y”(一年)。

introductoryPriceCycles

integer

提供初次体验价的结算周期数。

SubscriptionCancelSurveyResult

用户在完成订阅取消流程时提供的信息(取消原因调查问卷)。

JSON 表示法
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
字段
cancelSurveyReason

integer

用户在调查问卷中选择的取消原因。可能的值包括:0。其他 1. 我不常使用这项服务 2. 技术问题 3. 费用相关原因 4. 我找到了更好的应用

userInputCancelReason

string

用户的自定义输入取消原因。仅当 cancelReason 为 0 时存在。

SubscriptionPriceChange

包含订阅的价格变动信息,可用于控制应用中价格变动的用户体验历程。这种信息可以采用寻求用户确认或定制成功转化体验的形式。

JSON 表示法
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
字段
newPrice

object (Price)

如果用户接受价格变动,订阅将采用的新价格续订。

state

integer

价格变动的当前状态。可能的值包括:0。未完成:等待用户同意的待处理价格变动状态。在此状态下,您可以选择使用 In-App API 请求用户确认。1. 已接受:表示已接受的价格变动状态,表示订阅在续订时会收到价格变动(除非取消订阅)。价格变动在未来订阅续订时生效。请注意,当订阅下次续订时,此更改可能不会生效。

方法

acknowledge

确认订阅购买交易。

cancel

取消用户的订阅购买。

defer

将用户的订阅购买推迟到指定的未来到期时间。

get

检查用户的订阅购买是否有效,并返回其过期时间。

refund

针对用户的订阅购买交易退款,但订阅在到期之前仍然有效,并且将继续定期重复。

revoke

对用户的订阅购买进行退款并立即撤消。