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,

  // 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.
}
Campi
refundTime

string (Timestamp format)

Obbligatorio. L'ora in cui è stato rimborsato l'importo della transazione.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC 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".

Campo unione refund_type. Obbligatorio. Tipo di rimborso di transazione esterna. refund_type può essere solo uno dei seguenti:
partialRefund

object (PartialRefund)

Un rimborso parziale.

fullRefund

object (FullRefund)

Un rimborso dell'intero importo.

Corpo della risposta

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

Esempio

Di seguito è riportata una richiesta di esempio:

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 tutti i rimborsi di una singola transazione.

refundPreTaxAmount

object (Price)

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

FullRefund

Questo tipo non contiene campi.

Un rimborso totale dell'importo residuo di una transazione.