Method: refundResultNotification

Beri tahu Google hasil pengembalian dana setelah panggilan metode refund dilakukan.

Pengembalian dana harus ditangani secara sinkron selama panggilan metode refund, tetapi metode ini akan memberi Google sinyal pencadangan cepat jika panggilan sinkron gagal setelah melakukan tindakan, tetapi sebelum dapat menampilkan hasil. Hal ini untuk menghindari penundaan yang disebabkan oleh Google yang menjadwalkan percobaan ulang untuk waktu mendatang.

Nilai refundResult bersifat idempoten untuk refundRequestId ini, sehingga nilainya tidak dapat diubah oleh panggilan berikutnya ke metode ini.

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

Respons untuk kueri ini boleh kosong jika metode ini tidak menampilkan HTTP 200. Isi respons kosong dalam situasi saat ErrorResponse dengan deskripsi yang jelas dapat digunakan untuk membantu penyerang memahami ID akun integrator pembayaran dari integrator lain. Dalam situasi ini, saat kunci penandatanganan tidak cocok, ID integrator pembayaran tidak ditemukan, atau kunci enkripsi tidak diketahui, metode ini akan menampilkan HTTP 404 dengan isi kosong. Jika tanda tangan permintaan dapat diverifikasi, informasi tambahan terkait error tersebut akan dikirimkan dalam isi respons.

Contoh permintaan terlihat seperti:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

Contoh respons akan terlihat seperti ini:


{
  "responseHeader": {
    "responseTimestamp": "1481855928376"
  },
  "result": "SUCCESS"
}

Permintaan HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/:PIAID

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
Kolom
requestHeader

object (RequestHeader)

WAJIB: Header umum untuk semua permintaan.

paymentIntegratorAccountId

string

WAJIB: ID akun integrator pembayaran tempat pengembalian dana terjadi.

refundRequestId

string

WAJIB: ID unik untuk pengembalian dana ini, yang ditetapkan oleh kolom requestId saat metode refund dipanggil.

refundResult

enum (RefundResultCode)

WAJIB: Hasil dari pengembalian dana ini.

paymentIntegratorRefundId

string

WAJIB: ID ini khusus untuk integrator dan dihasilkan oleh integrator. Ini adalah ID yang digunakan integrator untuk mengetahui pengembalian dana ini.

Demi kemudahan, ID ini disertakan dalam detail transfer dana

Isi respons

Objek respons untuk metode refundResultNotification.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
Kolom
responseHeader

object (ResponseHeader)

WAJIB: Header umum untuk semua respons.

result

enum (RefundResultNotificationResultCode)

WAJIB: Hasil dari panggilan ini.

RefundResultCode

Pengembalian dana kode hasil unik.

Enum
UNKNOWN_RESULT Jangan pernah menetapkan nilai default ini!
SUCCESS Pengembalian dana berhasil.
NO_MONEY_LEFT_ON_TRANSACTION Pengembalian dana gagal, tidak ada uang yang tersisa di transaksi. Biasanya, hal ini menunjukkan bug antara integrator dan Google. Google tidak boleh meminta pengembalian dana dalam jumlah yang lebih besar dari foto asli.
ACCOUNT_CLOSED

Akun yang disimpan dengan 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, 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 disimpan dengan 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 lain di masa mendatang, tetapi akan melakukannya dengan requestId yang baru, sehingga permintaan ini dianggap selesai.
REFUND_EXCEEDS_MAXIMUM_BALANCE Pengembalian dana tidak dapat diproses saat ini karena akan menyebabkan saldo pengguna melebihi jumlah maksimum yang diizinkan. Google dapat meminta pengembalian dana lain di masa mendatang, tetapi akan melakukannya dengan requestId yang baru, sehingga permintaan ini dianggap selesai.
REFUND_WINDOW_EXCEEDED Pengembalian dana tidak dapat diproses karena permintaan berada di luar periode pengembalian dana yang diizinkan.

RefundResultNotificationResultCode

Kode hasil untuk metode refundResultNotification.

Enum
UNKNOWN_RESULT Jangan pernah menetapkan nilai default ini!
SUCCESS Notifikasi hasil pengembalian dana berhasil.