Method: disburseFunds

Memulai perpindahan uang antara pemroses pembayaran dan akun pelanggan. Kombinasi requestId dalam header dan paymentIntegratorAccountId adalah kunci idempotensi dan mengidentifikasi transaksi ini secara unik. Semua mutasi pada transaksi ini mengisi nilai requestId di kolom disburseFundsRequestId.

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",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "208000000"
}

Contoh respons terlihat seperti ini:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
  "disburseFundsResult": {
    "disburseFundsResultCode": "SUCCESS"
  }
}

Permintaan HTTP

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

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field destinationFopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  }
  // End of list of possible types for union field destinationFopDetails.
}
Kolom
requestHeader

object (RequestHeader)

WAJIB: Header umum untuk semua permintaan.

paymentIntegratorAccountId

string

WAJIB: Ini adalah ID akun integrator pembayaran yang mengidentifikasi batasan kontraktual terkait transaksi ini.

transactionDescription

string

WAJIB: Ini adalah deskripsi transaksi yang dapat ditampilkan di laporan mutasi pelanggan. Dilokalkan ke userLocale yang ditemukan di requestHeader. Format ini dapat diubah tanpa pemberitahuan dan tidak boleh diurai.

currencyCode

string

WAJIB: Kode mata uang 3 huruf ISO 4217

amount

string (Int64Value format)

WAJIB: Jumlah pembelian, dalam micros satuan mata uang.

Kolom union destinationFopDetails.

destinationFopDetails hanya dapat berupa salah satu dari berikut:

upiDetails

object (UpiDetails)

OPSIONAL: Detail pembayaran khusus untuk instrumen UPI.

Isi respons

Objek respons untuk metode pencairan dana.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "disburseFundsResult": {
    object (DisburseFundsResult)
  }
}
Kolom
responseHeader

object (ResponseHeader)

WAJIB: Header umum untuk semua respons.

paymentIntegratorTransactionId

string

WAJIB: ID ini ditujukan khusus untuk integrator dan dibuat oleh integrator. Ini adalah ID yang digunakan integrator untuk mengetahui transaksi ini.

Untuk memudahkan, ID ini disertakan dalam detail pembayaran

disburseFundsResult

object (DisburseFundsResult)

WAJIB: Hasil panggilan pencairan dana.

UpiDetails

Detail tentang rekening UPI yang akan dicairkan.

Representasi JSON
{
  "vpa": string
}
Kolom
vpa

string

WAJIB: Alamat Pembayaran Virtual (VPA) pengguna yang digunakan untuk memindahkan uang menggunakan protokol UPI. Misalnya foo@icici.

DisburseFundsResult

Informasi tentang hasil akhir pencairan.

Representasi JSON
{
  "disburseFundsResultCode": enum (DisburseFundsResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string
  // End of list of possible types for union field FailureDetail.
}
Kolom
disburseFundsResultCode

enum (DisburseFundsResultCode)

WAJIB: Kode hasil pencairan ini.

rawResult

object (RawResult)

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

Nilai ini wajib jika result bukan SUCCESS.

Kolom union FailureDetail.

FailureDetail hanya dapat berupa salah satu dari berikut:

transactionMaxLimit

string (Int64Value format)

OPSIONAL: Jika disburseFundsResultCode adalah DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT, maka ini adalah nilai transaksi maksimum yang diizinkan. Hal ini digunakan untuk pesan terstruktur yang ditampilkan kepada pengguna dan analisis tarif penolakan.

Jumlah ini micros dari currencyCode yang sama dengan panggilan metode disburseFunds asli.

transactionMinLimit

string (Int64Value format)

OPSIONAL: Jika disburseFundsResultCode adalah DISBURSEMENT_UNDER_TRANSACTION_LIMIT, maka ini adalah nilai transaksi minimum yang diizinkan. Hal ini digunakan untuk pesan terstruktur yang ditampilkan kepada pengguna dan analisis tarif penolakan.

Jumlah ini micros dari currencyCode yang sama dengan panggilan metode disburseFunds asli.

DisburseFundsResultCode

Kode hasil untuk panggilan pencairan dana.

Enum
UNKNOWN_RESULT Jangan pernah menetapkan nilai default ini.
SUCCESS Pencairan berhasil.
DISBURSEMENT_UNDER_TRANSACTION_LIMIT Jumlah pencairan yang diminta tidak memenuhi jumlah minimum per transaksi integrator. Jika kode ini digunakan, isi kolom transactionMinLimit dengan jumlah transaksi minimum untuk tujuan pengiriman pesan kepada pengguna.
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT Jumlah pencairan yang diminta melebihi batas maksimum per transaksi integrator. Jika kode ini digunakan, isi kolom transactionMaxLimit dengan batas transaksi untuk tujuan pengiriman pesan kepada pengguna.
ACCOUNT_CLOSED Akun pengguna yang dimiliki bersama integrator telah ditutup. Nilai yang ditampilkan ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER Akun pengguna dengan integrator telah ditutup, akun yang dicurigai mengambil alih. Nilai yang ditampilkan ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru.
ACCOUNT_CLOSED_FRAUD Akun pengguna yang disimpan bersama integrator telah ditutup karena penipuan. Nilai yang ditampilkan ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru.
ACCOUNT_ON_HOLD Akun pengguna ditangguhkan.

RawResult

Objek hasil mentah.

Representasi JSON
{
  "scope": string,
  "rawCode": string
}
Kolom
scope

string

OPSIONAL: Cakupan rawCode, boleh kosong.

rawCode

string

WAJIB: Kode mentah dari integrator atau subsistem di dalamnya.