Method: externaltransactions.refundexternaltransaction

Zwraca środki lub częściowo zwraca środki za istniejącą transakcję zewnętrzną.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Parametry ścieżki

Parametry
name

string

Wymagane. Nazwa transakcji zewnętrznej, za którą zostaną zwrócone środki. Format: applications/{packageName}/externalTransactions/{externalTransaction}

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis 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.
}
Pola
refundTime

string (Timestamp format)

Wymagane. Czas, w którym środki zostały zwrócone.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

Wymagane. Typ zwrotu transakcji zewnętrznej. Poniżej znajduje się lista pól, które się wykluczają. W odpowiedzi zostanie ustawione co najwyżej 1 z tych pól:
partialRefund

object (PartialRefund)

Częściowy zwrot środków.

fullRefund

object (FullRefund)

Zwrot pełnej kwoty.

Koniec pól, które się wykluczają.

Treść odpowiedzi

W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu ExternalTransaction.

Przykład

Oto przykładowe żądanie:

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

Oto przykładowa odpowiedź:

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

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

PartialRefund

Częściowy zwrot środków za transakcję.

Zapis JSON
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Pola
refundId

string

Wymagane. Unikalny identyfikator odróżniający ten częściowy zwrot środków. Jeśli zwrot środków się powiedzie, kolejne zwroty z tym samym identyfikatorem nie powiodą się. Musi być unikalny w przypadku zwrotów środków za 1 transakcję.

refundPreTaxAmount

object (Price)

Wymagane. Kwota częściowego zwrotu środków przed opodatkowaniem. Powinna być mniejsza niż pozostała kwota transakcji przed opodatkowaniem.

FullRefund

Ten typ nie ma pól.

Pełny zwrot środków pozostałej kwoty transakcji.