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 içeriği

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

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

refund_type birleşik alanı. Zorunlu. Harici işlem geri ödemesinin türü. refund_type aşağıdakilerden yalnızca biri olabilir:
partialRefund

object (PartialRefund)

Kısmi geri ödeme

fullRefund

object (FullRefund)

Tam tutarda geri ödeme

Yanıt gövdesi

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 verilmiştir:

{
  "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 geri ödemeler arasında benzersiz olmalıdır.

refundPreTaxAmount

object (Price)

Zorunlu. Kısmi geri ödemenin vergi öncesi tutarı. İşlemin vergi öncesi kalan tutarından az olmalıdır.

FullRefund

Bu türde alan yok.

Bir işlemin kalan tutarının tamamının geri ödenmesi.