Mengembalikan dana sebagian atau seluruh transaksi yang dimulai melalui capture
. Kombinasi requestId
dalam header dan paymentIntegratorAccountId
adalah kunci idempotency, 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:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"currencyCode": "INR",
"refundAmount": "208000000"
}
Contoh respons akan 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 ( |
Kolom | |
---|---|
requestHeader |
WAJIB: Header umum untuk semua permintaan. |
paymentIntegratorAccountId |
WAJIB: Ini adalah ID akun integrator pembayaran yang menentukan batasan kontrak terkait transaksi ini. |
captureRequestId |
WAJIB: ID unik untuk transaksi ini. Ini adalah |
currencyCode |
WAJIB: Kode mata uang 3 huruf ISO 4217 |
refundAmount |
WAJIB: Jumlah pengembalian dana, jumlah positif mikro dari unit mata uang. |
Isi respons
Objek respons untuk metode pengembalian dana.
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "responseHeader": { object ( |
Kolom | |
---|---|
responseHeader |
WAJIB: Header umum untuk semua respons. |
paymentIntegratorRefundId |
OPSIONAL: 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 |
result |
WAJIB: Hasil dari pengembalian dana ini. |
rawResult |
OPSIONAL: Hasil mentah pengembalian dana ini. Digunakan untuk membantu memberi tahu mesin risiko dan analisis Google. Dalam situasi pemetaan kode penolakan, data terkadang hilang. Integrator dapat memilih untuk memberikan kode mentah kepada Google. Misalnya, gateway kartu kredit (integrator) dapat menggunakan kolom ini untuk menyampaikan kode penolakan persisnya yang diterima dari jaringan VISA kepada Google. Dalam hal ini, Nilai ini wajib jika |
RefundResultCode
Pengembalian dana kode hasil unik.
Enum | |
---|---|
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 untuk 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. |