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)

自动恢复订阅的时间(以毫秒为单位,从 Epoch 起算)。仅当用户请求暂停订阅时,此字段才会显示。

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)

用户取消订阅的时间(以毫秒为单位,从 Epoch 起算)。仅当 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”(1 个月),“P3M”(三个月)、“P6M”(6 个月)和“P1Y”(1 年)。

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

立即撤消用户的订阅购买交易,并退款。