Method: externaltransactions.refundexternaltransaction

Rimborsa o rimborsa parzialmente una transazione esterna esistente.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
name

string

Obbligatorio. Il nome della transazione esterna che verrà rimborsata. Formato: applications/{packageName}/externalTransactions/{externalTransaction}

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "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.
}
Campi
refundTime

string (Timestamp format)

Obbligatorio. L'ora in cui la transazione è stata rimborsata.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Obbligatorio. Tipo di rimborso della transazione esterna. Di seguito è riportato un elenco di campi che si escludono a vicenda. Al massimo uno dei campi verrà impostato in una risposta:
partialRefund

object (PartialRefund)

Un rimborso parziale.

fullRefund

object (FullRefund)

Un rimborso dell'intero importo.

Fine dei campi che si escludono a vicenda.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di ExternalTransaction.

Esempio

Di seguito è riportato un esempio di richiesta:

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

Di seguito è riportato un esempio di risposta:

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

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

PartialRefund

Un rimborso parziale di una transazione.

Rappresentazione JSON
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Campi
refundId

string

Obbligatorio. Un ID univoco che distingue questo rimborso parziale. Se il rimborso va a buon fine, i rimborsi successivi con lo stesso ID non andranno a buon fine. Deve essere univoco per i rimborsi di una singola transazione.

refundPreTaxAmount

object (Price)

Obbligatorio. L'importo al netto delle imposte del rimborso parziale. Deve essere inferiore all'importo al netto delle imposte rimanente della transazione.

FullRefund

Questo tipo non ha campi.

Un rimborso completo dell'importo rimanente di una transazione.