Method: externaltransactions.refundexternaltransaction

Mevcut bir harici işlemi geri öder veya kısmen geri öder.

HTTP isteği

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

Yol parametreleri

Parametreler
name

string

Zorunlu. İade edilecek harici işlemin adı. Biçim: applications/{packageName}/externalTransactions/{externalTransaction}

İstek metni

İstek içeriği aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "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.
}
Alanlar
refundTime

string (Timestamp format)

Zorunlu. İşlemin geri ödendiği zaman.

Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

Zorunlu. Harici işlem geri ödemesinin türü. Aşağıda, aynı anda kullanılamayan alanların listesi verilmiştir. Yanıt içinde en fazla bir alan ayarlanır:
partialRefund

object (PartialRefund)

Kısmi geri ödeme

fullRefund

object (FullRefund)

Tam tutarda geri ödeme

Karşılıklı olarak hariç tutulan alanların sonu.

Yanıt metni

Başarılıysa yanıt metni, ExternalTransaction öğesinin bir örneğini içerir.

Örnek

Aşağıda örnek bir istek verilmiştir:

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şağıda örnek bir yanıt yer almaktadır:

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

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

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

PartialRefund

Bir işlemin kısmi geri ödemesi

JSON gösterimi
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Alanlar
refundId

string

Zorunlu. Bu kısmi geri ödemeyi ayıran benzersiz kimlik. Geri ödeme başarılı olursa aynı kimliğe sahip sonraki geri ödemeler başarısız olur. Tek bir işlem için yapılan geri ödemelerde benzersiz olmalıdır.

refundPreTaxAmount

object (Price)

Zorunlu. Kısmi geri ödemenin vergi öncesi tutarı. İşlem tutarının vergi öncesi kalan kısmından daha az olmalıdır.

FullRefund

Bu türde alan yok.

Bir işlemin kalan tutarının eksiksiz geri ödemesi.