Method: externaltransactions.refundexternaltransaction

Возврат или частичный возврат существующей внешней транзакции.

HTTP-запрос

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

URL-адрес использует синтаксис gRPC Transcoding .

Параметры пути

Параметры
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" .

Поле union refund_type . Обязательно. Тип внешней транзакции refund. 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

ЧастичныйВозврат

Частичный возврат средств по транзакции.

JSON-представление
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Поля
refundId

string

Обязательно. Уникальный идентификатор, отличающий этот частичный возврат. Если возврат успешен, последующие возвраты с тем же идентификатором не будут выполнены. Должен быть уникальным для всех возвратов для одной отдельной транзакции.

refundPreTaxAmount

object ( Price )

Обязательно. Сумма частичного возврата до вычета налогов. Должна быть меньше оставшейся суммы транзакции до вычета налогов.

ПолныйВозврат

Этот тип не имеет полей.

Полный возврат оставшейся суммы транзакции.