Method: externaltransactions.refundexternaltransaction

Erstattet eine vorhandene externe Transaktion ganz oder teilweise.

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
name

string

Erforderlich. Der Name der externen Transaktion, die erstattet werden soll. Format: applications/{packageName}/externalTransactions/{externalTransaction}

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "refundTime": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "partialRefund": {
    object (PartialRefund)
  },
  "fullRefund": {
    object (FullRefund)
  }
  // End of mutually exclusive fields.
}
Felder
refundTime

string (Timestamp format)

Erforderlich. Der Zeitpunkt, zu dem die Transaktion erstattet wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

Erforderlich. Art der Erstattung für externe Transaktionen. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
partialRefund

object (PartialRefund)

Eine Teilerstattung.

fullRefund

object (FullRefund)

Eine Erstattung des vollen Betrags.

Ende der sich gegenseitig ausschließenden Felder.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von ExternalTransaction.

Beispiel

Hier ist eine Beispielanfrage:

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" \
  }'

Hier ist eine Beispielantwort:

{
  "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"
    }
  }
}

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

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

PartialRefund

Eine teilweise Erstattung einer Transaktion.

JSON-Darstellung
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Felder
refundId

string

Erforderlich. Eine eindeutige ID, die diese teilweise Erstattung kennzeichnet. Wenn die Erstattung erfolgreich ist, schlagen nachfolgende Erstattungen mit derselben ID fehl. Muss für Erstattungen für eine einzelne Transaktion eindeutig sein.

refundPreTaxAmount

object (Price)

Erforderlich. Der Betrag der teilweisen Erstattung vor Steuern. Sollte kleiner als der verbleibende Betrag der Transaktion vor Steuern sein.

FullRefund

Dieser Typ hat keine Felder.

Eine volle Erstattung des verbleibenden Betrags einer Transaktion.