Method: externaltransactions.refundexternaltransaction

Reembolsa completa o parcialmente una transacción externa existente.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta

Parámetros
name

string

Obligatorio. Es el nombre de la transacción externa que se reembolsará. Formato: applications/{packageName}/externalTransactions/{externalTransaction}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación 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.
}
Campos
refundTime

string (Timestamp format)

Obligatorio. Es la hora en que se reembolsó la transacción.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Obligatorio. Es el tipo de reembolso de la transacción externa. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
partialRefund

object (PartialRefund)

Es un reembolso parcial.

fullRefund

object (FullRefund)

Es un reembolso del importe total.

Fin de los campos mutuamente excluyentes.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de ExternalTransaction.

Muestra

La siguiente es una solicitud de muestra:

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

A continuación, se muestra una respuesta de ejemplo:

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

Permisos de autorización

Requiere el siguiente permiso de OAuth:

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

PartialRefund

Es un reembolso parcial de una transacción.

Representación JSON
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Campos
refundId

string

Obligatorio. Es un ID único que distingue este reembolso parcial. Si el reembolso se realiza correctamente, los reembolsos posteriores con el mismo ID fallarán. Debe ser único en los reembolsos de una transacción individual.

refundPreTaxAmount

object (Price)

Obligatorio. Es el importe antes de impuestos del reembolso parcial. Debe ser menor que el importe antes de impuestos restante de la transacción.

FullRefund

Este tipo no tiene campos.

Es un reembolso total del importe restante de una transacción.