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, która zostanie zwrócona. Format: applications/{packageName}/externalTransactions/{externalTransaction}

Treść żądania

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

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

string (Timestamp format)

Wymagane. Czas, w którym zwrócono środki za transakcję.

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".

Pole zbiorcze refund_type. Wymagane. Typ zwrotu transakcji zewnętrznej. refund_type może mieć tylko jedną z tych wartości:
partialRefund

object (PartialRefund)

częściowy zwrot środków;

fullRefund

object (FullRefund)

pełny zwrot środków.

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ę uda, kolejne zwroty o tym samym identyfikatorze nie będą możliwe. Musi być unikalny w przypadku zwrotów środków za jedną 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 pozostałej kwoty transakcji.