Beri tahu Google tentang hasil pengembalian dana setelah panggilan metode refund
dilakukan.
Pengembalian dana harus ditangani secara sinkron selama panggilan metode refund
, tetapi metode ini memberi Google sinyal pencadangan cepat jika panggilan sinkron gagal setelah melakukan tindakan, tetapi sebelum dapat menampilkan hasil. Hal ini untuk menghindari penundaan yang diperkenalkan Google untuk menjadwalkan percobaan ulang pada masa 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 terhadap kueri ini mungkin kosong jika metode ini tidak menampilkan HTTP 200. Isi respons kosong jika
dengan deskripsi yang jelas dapat digunakan untuk membantu penyerang memahami ID akun integrator pembayaran dari integrator lainnya. Dalam situasi ini, jika 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 akan ditampilkan dalam isi respons.ErrorResponse
Contoh permintaan terlihat seperti ini:
{
"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 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 ( |
Kolom | |
---|---|
requestHeader |
DIPERLUKAN: Header umum untuk semua permintaan. |
paymentIntegratorAccountId |
DIPERLUKAN: ID akun integrator pembayaran tempat pengembalian dana terjadi. |
refundRequestId |
DIPERLUKAN: ID unik untuk pengembalian dana ini, yang ditetapkan oleh kolom |
refundResult |
DIPERLUKAN: Hasil dari pengembalian dana ini. |
paymentIntegratorRefundId |
DIPERLUKAN: ID ini khusus 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 |
Isi respons
Objek respons untuk metode refundResultNotification
.
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "responseHeader": { object ( |
Kolom | |
---|---|
responseHeader |
DIPERLUKAN: Header umum untuk semua respons. |
result |
REQUIRED: Hasil dari panggilan ini. |
ReturnResultCode
Pengembalian dana kode hasil unik.
Enumerasi | |
---|---|
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 dalam 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. |
ReturnResultNotificationResultCode
Kode hasil untuk metode refundResultNotification
.
Enumerasi | |
---|---|
UNKNOWN_RESULT |
Jangan pernah menetapkan nilai default ini. |
SUCCESS |
Notifikasi hasil pengembalian dana berhasil. |