Method: externaltransactions.refundexternaltransaction

退還或部分退還現有外部交易。

HTTP 要求

POST https://androidpublisher.googleapis.com/androidpublisher/v3/{name=applications/*/externalTransactions/*}:refund

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
name

string

必要欄位。要退款的外部交易名稱。格式:applications/{packageName}/externalTransactions/{externalTransaction}

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "refundTime": string,

  // Union field refund_type can be only one of the following:
  "partialRefund": {
    object (PartialRefund)
  },
  "fullRefund": {
    object (FullRefund)
  }
  // End of list of possible types for union field refund_type.
}
欄位
refundTime

string (Timestamp format)

必要欄位。交易退款的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 小數位數。系統也接受「Z」以外的偏移值。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

聯集欄位 refund_type。必要欄位。外部交易退款類型。refund_type 只能是下列其中一項:
partialRefund

object (PartialRefund)

部分退款。

fullRefund

object (FullRefund)

全額退款。

回應主體

如果成功,回應主體會包含 ExternalTransaction 的執行例項。

範例

以下是要求範例:

curl \
  -X POST \
  'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/externalTransactions/foo:refund' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  -H 'Content-Type: application/json' \
  -d '{ \
    "partialRefund": { \
      "refundId": "my_refund_id", \
      "refundPreTaxAmount": { \
        "currency": "USD", \
        "priceMicros": "10120000" \
      } \
    }, \
    "refundTime": "2023-10-20T16:43:32.852Z" \
  }'

以下是回應範例:

{
  "externalTransactionId": "1234567890123456789012345678901234567890123456789012345678901234",
  "originalPreTaxAmount": {
    "currency": "USD",
    "priceMicros": "1990000"
  },
  "originalTaxAmount": {
    "currency": "USD",
    "priceMicros": "11400000"
  },
  "packageName": "com.example.app",
  "transactionState": "TRANSACTION_CANCELED",
  "transactionTime": "2023-04-01T12:00:00Z",
  "userTaxAddress": {
    "regionCode": "US"
  },
  "createTime": "2023-04-01T11:55:00Z",
  "currentPreTaxAmount": {
    "currency": "USD",
    "priceMicros": "0"
  },
  "currentTaxAmount": {
    "currency": "USD",
    "priceMicros": "0"
  },
  "testPurchase": {},
  "recurringTransaction": {
    "initialExternalTransactionId": "9876543210987654321098765432109876543210987654321098765432109876",
    "externalSubscription": {
      "subscriptionType": "RECURRING"
    }
  }
}

授權範圍

需要下列 OAuth 範圍:

  • https://www.googleapis.com/auth/androidpublisher

PartialRefund

部分退款。

JSON 表示法
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
欄位
refundId

string

必要欄位。用於區分這筆部分退款的專屬 ID。如果退款成功,後續使用相同 ID 的退款作業將會失敗。每筆交易的退款 ID 不得重複。

refundPreTaxAmount

object (Price)

必要欄位。部分退款的稅前金額。應低於交易的稅前餘額。

FullRefund

這個類型沒有任何欄位。

全額退還交易的剩餘金額。