REST Resource: externaltransactions

资源:ExternalTransaction

外部交易的详细信息。

JSON 表示法
{
  "packageName": string,
  "externalTransactionId": string,
  "originalPreTaxAmount": {
    object (Price)
  },
  "originalTaxAmount": {
    object (Price)
  },
  "currentPreTaxAmount": {
    object (Price)
  },
  "currentTaxAmount": {
    object (Price)
  },
  "testPurchase": {
    object (ExternalTransactionTestPurchase)
  },
  "transactionTime": string,
  "createTime": string,
  "transactionState": enum (TransactionState),
  "userTaxAddress": {
    object (ExternalTransactionAddress)
  },
  "transactionProgramCode": integer,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "oneTimeTransaction": {
    object (OneTimeExternalTransaction)
  },
  "recurringTransaction": {
    object (RecurringExternalTransaction)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "externalOfferDetails": {
    object (ExternalOfferDetails)
  },
  "externalContentLinkDetails": {
    object (ExternalContentLinkDetails)
  }
  // End of mutually exclusive fields.
}
字段
packageName

string

仅限输出。外部交易的资源名称。售出了相应应用内商品的应用的软件包名称(例如:“com.some.app”)。

externalTransactionId

string

仅限输出。相应交易的 ID。同一软件包名称下的所有交易 ID 必须具有唯一性。创建外部事务时设置。

originalPreTaxAmount

object (Price)

必需。税前原始交易金额。这表示最初向 Google 通知的税前金额,不包含任何退款。

originalTaxAmount

object (Price)

必需。原始税费金额。这表示最初向 Google 通知的税费金额,不包含任何退款。

currentPreTaxAmount

object (Price)

仅限输出。当前税前交易金额。这表示当前税前金额,包含可能已针对相应交易执行的所有退款。

currentTaxAmount

object (Price)

仅限输出。当前税费金额。这表示当前税费金额,包含可能已针对相应交易执行的所有退款。

testPurchase

object (ExternalTransactionTestPurchase)

仅限输出。如果已设置,则表示相应交易是一项购买测试。谷歌不会对测试交易收取费用。

transactionTime

string (Timestamp format)

必需。完成交易的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

createTime

string (Timestamp format)

仅限输出。相应交易的创建时间。这是将相应交易通知 Google 的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

transactionState

enum (TransactionState)

仅限输出。交易的当前状态。

userTaxAddress

object (ExternalTransactionAddress)

必需。用于计算税费的用户地址。

transactionProgramCode

integer

可选。交易计划代码,用于帮助确定参与合作伙伴计划的符合条件的应用的交易服务费。参与 Play 媒体体验计划 (https://play.google.com/console/about/programs/mediaprogram/) 的开发者在报告备选结算系统交易时必须提供计划代码。如果您是符合条件的开发者,请与您的 BDM 联系,详细了解如何设置此字段。注意:此字段不能用于外部交易。

所执行的交易类型。以下是互斥字段的列表。在响应中,最多只能设置一个字段:
oneTimeTransaction

object (OneTimeExternalTransaction)

这是一次性交易,不是订阅的一部分。

recurringTransaction

object (RecurringExternalTransaction)

相应交易是一系列周期性交易的一部分。

互斥字段的结束位置。
交易报告所需的程序特定详细信息。详细信息应仅针对与交易相关联的计划进行设置。以下是互斥字段的列表。在响应中,最多只能设置一个字段:
externalOfferDetails

object (ExternalOfferDetails)

可选。准确报告外部优惠交易所需的详细信息。

互斥字段的结束位置。

ExternalTransactionTestPurchase

此类型没有字段。

表示使用测试账户执行的交易。Google 不会对这些交易收费。

OneTimeExternalTransaction

表示一次性交易。

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

string

仅限输入。在调用 Create 期间提供。在启动备选结算流程时从客户端检索。

RecurringExternalTransaction

表示一笔交易,该交易是一系列周期性付款的一部分。这可以是订阅,也可以是包含多笔付款的一次性商品(例如预订)。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "initialExternalTransactionId": string,
  "externalTransactionToken": string,
  "migratedTransactionProgram": enum (ExternalTransactionProgram)
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "externalSubscription": {
    object (ExternalSubscription)
  },
  "otherRecurringProduct": {
    object (OtherRecurringProduct)
  }
  // End of mutually exclusive fields.
}
字段
以下是互斥字段的列表。在响应中,最多只能设置一个字段:
initialExternalTransactionId

string

相应系列周期性交易中第一笔交易的外部交易 ID。例如,对于订阅,其值为第一笔付款的交易 ID。在创建周期性外部交易时为必需。

externalTransactionToken

string

仅限输入。在调用 Create 期间提供。在启动备选结算流程时从客户端检索。仅首次购买时需要。

migratedTransactionProgram

enum (ExternalTransactionProgram)

仅限输入。在调用 Create 期间提供。仅当将订阅从手动月度报告迁移到自动报告时才可使用。

互斥字段的结束位置。
必需。周期性外部交易中商品的详细信息。以下是互斥字段的列表。在响应中,最多只能设置一个字段:
externalSubscription

object (ExternalSubscription)

外部订阅的详细信息。

otherRecurringProduct

object (OtherRecurringProduct)

不属于任何其他特定类别的周期性外部交易商品的详细信息。

互斥字段的结束位置。

ExternalTransactionProgram

表示用户完成交易时所体验的外部交易计划。

枚举
EXTERNAL_TRANSACTION_PROGRAM_UNSPECIFIED 未指定交易计划。未使用。
USER_CHOICE_BILLING 用户自选结算方式,用户可以在 Google Play 结算服务和开发者管理的结算方式之间进行选择。
ALTERNATIVE_BILLING_ONLY 仅限备选结算系统,即用户仅可使用开发者管理的结算服务。

ExternalSubscription

外部订阅的详细信息。

JSON 表示法
{
  "subscriptionType": enum (SubscriptionType)
}
字段
subscriptionType

enum (SubscriptionType)

必需。外部订阅的类型。

SubscriptionType

外部订阅的类型。

枚举
SUBSCRIPTION_TYPE_UNSPECIFIED 未指定,请勿使用。
RECURRING 这是周期性订阅,即在每个结算周期向用户收费。
PREPAID 这是预付款订阅,即用户需提前付款。

OtherRecurringProduct

此类型没有字段。

不属于任何其他更具体类别的周期性外部交易商品的详细信息。

TransactionState

正在进行的交易的状态。

枚举
TRANSACTION_STATE_UNSPECIFIED 未指定交易状态。未使用。
TRANSACTION_REPORTED 交易已成功报告给 Google。
TRANSACTION_CANCELED 交易已全额退款。

ExternalTransactionAddress

用于外部交易的用户地址。

JSON 表示法
{
  "regionCode": string,
  "administrativeArea": string
}
字段
regionCode

string

必需。基于 ISO-3166-1 Alpha-2(联合国地区代码)的双字母地区代码。

administrativeArea

string

可选。国家/地区最高级别的行政区划。仅对于印度交易为必需。有效值为“ANDAMAN AND NICOBAR ISLANDS”“ANDHRA PRADESH”“ARUNACHAL PRADESH”“ASSAM”“BIHAR”“CHANDIGARH”“CHHATTISGARH”“DADRA AND NAGAR HAVELI”“DADRA AND NAGAR HAVELI AND DAMAN AND DIU”“DAMAN AND DIU”“DELHI”“GOA”“GUJARAT”“HARYANA”“HIMACHAL PRADESH”“JAMMU AND KASHMIR”“JHARKHAND”“KARNATAKA”“KERALA”“LADAKH”“LAKSHADWEEP”“MADHYA PRADESH”“MAHARASHTRA”“MANIPUR”“MEGHALAYA”“MIZORAM”“NAGALAND”“ODISHA”“PUDUCHERRY”“PUNJAB”“RAJASTHAN”“SIKKIM”“TAMIL NADU”“TELANGANA”“TRIPURA”“UTTAR PRADESH”“UTTARAKHAND”和“WEST BENGAL”。

ExternalOfferDetails

外部优惠计划特有的报告详细信息。

JSON 表示法
{
  "linkType": enum (ExternalOfferLinkType),
  "installedAppPackage": string,
  "installedAppCategory": enum (ExternalOfferAppCategory),
  "appDownloadEventExternalTransactionId": string
}
字段
installedAppPackage

string

可选。通过本次交易下载的应用程序的软件包名称。当 linkType 为 LINK_TO_APP_DOWNLOAD 时,必须提供此属性。

installedAppCategory

enum (ExternalOfferAppCategory)

可选。通过本次交易下载的应用程序类别。这必须与 Play 管理中心在外部应用验证过程中提供的类别相符。仅在以应用下载量为目标时需要。

appDownloadEventExternalTransactionId

string

可选。通过外部链接与应用下载事件相关联的外部交易 ID。在报告外部安装的应用中进行的交易时为必需。

ExternalOfferLinkType

外部链接的类型。

枚举

ExternalOfferAppCategory

下载的应用类别。有关应用类别的更多信息,请参阅https://support.google.com/googleplay/android-developer/answer/9859673

枚举
EXTERNAL_OFFER_APP_CATEGORY_UNSPECIFIED 未指定,请勿使用。
APP 相应应用归类于相应应用类别。
GAME 相应应用归类在游戏类别下。

ExternalContentLinkDetails

报告外部内容链接计划特有的详细信息。

JSON 表示法
{
  "linkType": enum (ExternalContentLinkType),
  "installedAppPackage": string,
  "externalAppCategory": enum (ExternalContentAppCategory)
}
字段
installedAppPackage

string

可选。通过本次交易下载的应用程序的软件包名称。仅在安装应用时需要。

externalAppCategory

enum (ExternalContentAppCategory)

可选。下载的应用的类别。此类别必须与外部应用验证过程中在 Play 管理中心内提供的类别一致。仅在安装应用时需要。

ExternalContentLinkType

外部链接的类型。

枚举

ExternalContentAppCategory

下载的应用的类别。如需详细了解应用类别,请参阅 https://support.google.com/googleplay/android-developer/answer/9859673

枚举
EXTERNAL_CONTENT_APP_CATEGORY_UNSPECIFIED 未指定,请勿使用。
APP 相应应用归类于相应应用类别。
GAME 相应应用归类在游戏类别下。

方法

createexternaltransaction

创建新的外部交易。

getexternaltransaction

获取现有外部交易。

refundexternaltransaction

针对现有外部交易进行退款或部分退款。

错误代码

此资源相关操作将返回以下 HTTP 错误代码:

错误代码 原因 说明 解决方案