- HTTP-запрос
- Параметры пути
- Текст запроса
- Ответный текст
- Области полномочий
- Частичный возврат средств
- Полный возврат средств
- Попробуйте!
Возврат или частичный возврат средств по существующей внешней транзакции.
HTTP-запрос
POST https://androidpublisher.googleapis.com/androidpublisher/v3/{name=applications/*/externalTransactions/*}:refund
В URL-адресе используется синтаксис транскодирования gRPC .
Параметры пути
| Параметры | |
|---|---|
name | Обязательно. Название внешней транзакции, по которой будет произведен возврат средств. Формат: applications/{packageName}/externalTransactions/{externalTransaction} |
Текст запроса
Тело запроса содержит данные следующей структуры:
| 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 ( |
| Поля | |
|---|---|
refundTime | Обязательно. Время, когда был произведен возврат средств. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
| Обязательно. Тип возврата средств по внешней транзакции. Ниже приведен список взаимоисключающих полей. В ответе будет установлено не более одного из полей: | |
partialRefund | Частичный возврат средств. |
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 ( |
| Поля | |
|---|---|
refundId | Обязательно. Уникальный идентификатор, отличающий этот частичный возврат средств. Если возврат средств пройдет успешно, последующие возвраты с тем же идентификатором завершатся неудачей. Идентификатор должен быть уникальным для всех возвратов в рамках одной транзакции. |
refundPreTaxAmount | Обязательно. Сумма частичного возврата до вычета налогов. Должна быть меньше оставшейся суммы транзакции до вычета налогов. |
Полный возврат средств
Этот тип не содержит полей.
Полный возврат оставшейся суммы транзакции.