Method: refund

Pengembalian dana sebagian atau seluruh transaksi yang dimulai melalui capture. Kombinasi requestId dalam header dan paymentIntegratorAccountId adalah kunci idempotensi, yang mengidentifikasi transaksi ini secara unik.

Jika endpoint mengalami error saat memproses permintaan, isi respons dari endpoint ini harus berjenis ErrorResponse.

Contoh permintaan terlihat seperti ini:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "liUrreQY233839dfFFb24gaQM",
    "requestTimestamp": "1502220434778"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
  "currencyCode": "INR",
  "refundAmount": "208000000"
}

Contoh respons terlihat seperti ini:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "SUCCESS",
  "paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}

Permintaan HTTP

POST https://www.integratorhost.example.com/v1/refund

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
Kolom
requestHeader

object (RequestHeader)

DIPERLUKAN: Header umum untuk semua permintaan.

paymentIntegratorAccountId

string

DIPERLUKAN: Ini adalah ID akun integrator pembayaran yang menentukan batasan kontrak terkait transaksi ini.

captureRequestId

string

DIPERLUKAN: ID unik untuk transaksi ini. Ini adalah requestId yang dihasilkan oleh Google selama panggilan capture yang terkait dengan permintaan ini.

currencyCode

string

DIPERLUKAN: Kode mata uang 3 huruf ISO 4217

refundAmount

string (Int64Value format)

DIPERLUKAN: Jumlah pengembalian dana, jumlah positif mikro, pada unit mata uang.

Isi respons

Objek respons untuk metode pengembalian dana.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorRefundId": string,
  "result": enum (RefundResultCode),
  "rawResult": {
    object (RawResult)
  }
}
Kolom
responseHeader

object (ResponseHeader)

DIPERLUKAN: Header umum untuk semua respons.

paymentIntegratorRefundId

string

OPSIONAL: ID ini dikhususkan untuk integrator dan dibuat oleh integrator. Ini adalah ID yang dapat digunakan integrator untuk mengetahui pengembalian dana ini.

Untuk memudahkan, ID ini disertakan dalam detail transfer dana

result

enum (RefundResultCode)

DIPERLUKAN: Hasil dari pengembalian dana ini.

rawResult

object (RawResult)

OPSIONAL: Hasil mentah pengembalian dana ini. Digunakan untuk membantu menginformasikan mesin risiko dan analisis Google. Dalam situasi pemetaan–kode yang ditolak, terkadang data hilang. Integrator dapat memilih untuk memberikan kode mentah kepada Google. Misalnya, gateway kartu kredit (integrator) dapat menggunakan kolom ini untuk menyampaikan kepada Google kode penolakan persis yang diterima dari jaringan VISA. Dalam hal ini, scope akan menjadi "visa" dan rawCode akan menjadi apa pun yang ditampilkan jaringan VISA.

Nilai ini wajib jika result bukan SUCCESS.

ReturnResultCode

Pengembalian dana kode hasil unik.

Enumerasi
UNKNOWN_RESULT Jangan pernah menetapkan nilai default ini.
SUCCESS Pengembalian dana berhasil.
NO_MONEY_LEFT_ON_TRANSACTION v1.refund gagal, tidak ada uang yang tersisa pada transaksi. Biasanya ini menunjukkan bug antara integrator dan Google. Google tidak boleh meminta pengembalian dana dalam jumlah yang lebih besar dari tangkapan asli.
ACCOUNT_CLOSED

Akun yang dimiliki integrator telah ditutup.

Menampilkan nilai ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru dengan melalui alur pengaitan lagi.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

Akun pengguna dengan integrator telah ditutup, dan akun yang dicurigai mengambil alih.

Menampilkan nilai ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru dengan melalui alur pengaitan lagi.

ACCOUNT_CLOSED_FRAUD

Akun pengguna yang ditahan oleh integrator telah ditutup karena penipuan.

Menampilkan nilai ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru dengan melalui alur pengaitan lagi.

ACCOUNT_ON_HOLD Akun pengguna saat ini ditangguhkan dan tidak dapat menerima pengembalian dana, tetapi akun pengguna mungkin nantinya dapat menerima pengembalian dana. Google dapat meminta pengembalian dana lainnya di masa mendatang, tetapi akan melakukannya dengan requestId baru, sehingga permintaan ini harus dianggap selesai.
REFUND_EXCEEDS_MAXIMUM_BALANCE Pengembalian dana tidak dapat diproses pada saat ini karena akan menyebabkan saldo pengguna melebihi jumlah maksimum yang diizinkan. Google dapat meminta pengembalian dana lainnya di masa mendatang, tetapi akan melakukannya dengan requestId baru, sehingga permintaan ini harus dianggap selesai.
REFUND_WINDOW_EXCEEDED Pengembalian dana tidak dapat diproses karena permintaan di luar periode pengembalian dana yang diizinkan.