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,
  "externalOfferInitialAcquisitionDetails": {
    object (ExternalOfferInitialAcquisitionDetails)
  },

  // Union field transaction_type can be only one of the following:
  "oneTimeTransaction": {
    object (OneTimeExternalTransaction)
  },
  "recurringTransaction": {
    object (RecurringExternalTransaction)
  }
  // End of list of possible types for union field transaction_type.
}
欄位
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)

僅供輸出。若設有此設定,表示此交易為測試購買。Google 不會針對測試交易收費。

transactionTime

string (Timestamp format)

必要欄位。交易完成的時間。

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

createTime

string (Timestamp format)

僅供輸出。建立這筆交易的時間。這是 Google 收到交易通知的時間。

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

transactionState

enum (TransactionState)

僅供輸出。交易目前的狀態。

userTaxAddress

object (ExternalTransactionAddress)

必要欄位。用於稅務計算的使用者地址。

transactionProgramCode

integer

選用設定。針對加入合作夥伴計畫的合格應用程式,系統會根據交易代碼判定服務費。如果開發人員參與 Play 媒體體驗計畫 (https://play.google.com/console/about/programs/mediaprogram/),開發人員必須在回報其他結帳系統交易時提供該計畫程式碼。如果您是符合資格的開發人員,請與 BDM 聯絡,進一步瞭解如何設定這個欄位。注意:這個欄位無法用於外部優惠交易。

externalOfferInitialAcquisitionDetails

object (ExternalOfferInitialAcquisitionDetails)

選用設定。有關使用者/裝置首次使用外部優惠完成交易的詳細資料。如果只透過使用者自選結帳系統或其他結帳系統進行交易,則不必填寫這個欄位。

聯集欄位 transaction_type。執行的交易類型。transaction_type 只能是下列其中一項:
oneTimeTransaction

object (OneTimeExternalTransaction)

這是一次性交易,不屬於訂閱項目。

recurringTransaction

object (RecurringExternalTransaction)

這筆交易屬於週期性交易的一部分。

ExternalTransactionTestPurchase

這個類型沒有任何欄位。

代表使用測試帳戶執行的交易。Google 不會收取這些交易的費用。

OneTimeExternalTransaction

代表一次性交易。

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

string

僅限輸入。在呼叫建立期間提供。在其他結帳流程啟動時從用戶端擷取。

RecurringExternalTransaction

代表週期性系列付款的交易。可以是訂閱項目或一次性產品,有多筆付款 (例如預購)。

JSON 表示法
{

  // Union field source can be only one of the following:
  "initialExternalTransactionId": string,
  "externalTransactionToken": string,
  "migratedTransactionProgram": enum (ExternalTransactionProgram)
  // End of list of possible types for union field source.

  // Union field product_details can be only one of the following:
  "externalSubscription": {
    object (ExternalSubscription)
  },
  "otherRecurringProduct": {
    object (OtherRecurringProduct)
  }
  // End of list of possible types for union field product_details.
}
欄位

聯集欄位 source

source 只能採用下列其中一種設定:

initialExternalTransactionId

string

此週期性週期性交易第一筆交易的外部交易 ID。舉例來說,如果是訂閱項目,這會是第一筆付款的交易 ID。建立週期性外部交易時為必要項目。

externalTransactionToken

string

僅限輸入。在呼叫建立期間提供。在其他結帳流程啟動時從用戶端擷取。只有初次購買時才需要填寫。

migratedTransactionProgram

enum (ExternalTransactionProgram)

僅限輸入。在呼叫建立期間提供。只有在將訂閱項目從手動報表遷移至自動報表時才能使用。

聯集欄位 product_details。必要欄位。週期性外部交易的產品詳細資料。product_details 只能是下列其中一項:
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 和 尼拉尼、尼爾文、尼爾文

ExternalOfferInitialAcquisitionDetails

有關使用者/裝置首次使用外部優惠完成交易的詳細資料。

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

string

必要欄位。使用者初次完成購買的外部交易 ID。

方法

createexternaltransaction

建立新的外部交易。

getexternaltransaction

取得現有的外部交易。

refundexternaltransaction

為現有外部交易辦理退款或部分退款。