Method: externaltransactions.refundexternaltransaction

Mengembalikan seluruh dana atau sebagian dana dari transaksi eksternal yang ada.

Permintaan HTTP

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

URL ini menggunakan sintaksis gRPC Transcoding.

Parameter jalur

Parameter
name

string

Wajib. Nama transaksi eksternal yang akan dikembalikan dananya. Format: applications/{packageName}/externalTransactions/{externalTransaction}

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi 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.
}
Kolom
refundTime

string (Timestamp format)

Wajib. Waktu saat transaksi dikembalikan dananya.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

Wajib. Jenis pengembalian dana transaksi eksternal. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
partialRefund

object (PartialRefund)

Pengembalian dana sebagian.

fullRefund

object (FullRefund)

Pengembalian dana penuh.

Akhir kolom yang saling eksklusif.

Isi respons

Jika berhasil, isi respons memuat instance ExternalTransaction.

Contoh

Berikut adalah contoh permintaan:

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

Berikut adalah contoh respons:

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

Cakupan otorisasi

Memerlukan cakupan OAuth berikut:

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

PartialRefund

Pengembalian dana sebagian suatu transaksi.

Representasi JSON
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
Kolom
refundId

string

Wajib. ID unik yang membedakan pengembalian dana sebagian ini. Jika pengembalian dana berhasil, pengembalian dana selanjutnya dengan ID yang sama akan gagal. Harus unik untuk setiap pengembalian dana dalam satu transaksi individu.

refundPreTaxAmount

object (Price)

Wajib. Jumlah pengembalian dana sebagian sebelum pajak. Seharusnya kurang dari jumlah transaksi sebelum pajak yang tersisa.

FullRefund

Jenis ini tidak memiliki kolom.

Pengembalian dana penuh dari sisa jumlah transaksi.