Method: asynchronousCapture

Memicu operasi perpindahan uang antara akun pelanggan dan integrator. Integrator harus mengonfirmasi permintaan tersebut dan melakukan tindakan apa pun yang diperlukan untuk menyelesaikan penangkapan (misalnya, mengumpulkan PIN dari pengguna). Integrator akan memberi tahu Google tentang hasil akhir penangkapan tersebut dengan memanggil CaptureResultNotification API.

Kombinasi requestId dalam header dan paymentIntegratorAccountId adalah kunci idempotency dan mengidentifikasi transaksi ini secara unik. Semua mutasi pada transaksi ini (pengembalian dana) mengisi nilai requestId di kolom captureRequestId.

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

Contoh permintaan terlihat seperti:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
    "requestTimestamp": "1502220196077"
  },
  "paymentIntegratorAccountId": "InvisiCashIN_INR",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "728000000"
}

Contoh respons akan terlihat seperti ini:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "ACKNOWLEDGED",
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}

Permintaan HTTP

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

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

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

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

object (RequestHeader)

WAJIB: Header umum untuk semua permintaan.

paymentIntegratorAccountId

string

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

transactionDescription

string

WAJIB: Deskripsi transaksi yang dapat dimasukkan dalam laporan mutasi pelanggan. Dilokalkan ke userLocale yang ditemukan di requestHeader. Format ini dapat diubah tanpa pemberitahuan dan tidak boleh diuraikan.

currencyCode

string

WAJIB: Kode mata uang 3 huruf ISO 4217

amount

string (Int64Value format)

WAJIB: Jumlah pembelian, dalam mikro unit mata uang.

Kolom union fopDetails.

fopDetails hanya dapat berupa salah satu dari yang berikut:

upiDetails

object (UpiDetails)

OPSIONAL: Detail pembayaran khusus untuk instrumen UPI.

tokenizedInstrumentDetails

object (TokenizedInstrumentDetails)

OPSIONAL: Detail pembayaran khusus untuk instrumen dengan token.

Isi respons

Objek respons untuk metode pengambilan.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "result": enum (AsynchronousCaptureResultCode)
}
Kolom
responseHeader

object (ResponseHeader)

WAJIB: Header umum untuk semua respons.

paymentIntegratorTransactionId

string

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

Demi kemudahan, ID ini disertakan dalam detail transfer dana

result

enum (AsynchronousCaptureResultCode)

WAJIB: Hasil dari panggilan perekaman asinkron.

UpiDetails

Detail tentang akun UPI yang akan diambil.

Representasi JSON
{
  "vpa": string
}
Kolom
vpa

string

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

TokenizedInstrumentDetails

Detail tentang akun yang akan diambil datanya.

Representasi JSON
{
  "googlePaymentToken": string
}
Kolom
googlePaymentToken

string

WAJIB: Ini adalah token yang akan digunakan kedua perusahaan untuk mengidentifikasi akun untuk pembelian di antara satu sama lain.

AsynchronousCaptureResultCode

Kode hasil untuk asinkronCapture.

Enum
UNKNOWN_RESULT Jangan pernah menetapkan nilai default ini!
ACKNOWLEDGED Pengambilan telah diminta dan integrator akan melakukan langkah tambahan untuk menentukan apakah penangkapan berhasil atau ditolak. Setelah mengetahui hasil penangkapan, integrator akan memberi tahu Google hasilnya dengan memanggil captureResultNotification API.
ACCOUNT_CLOSED

Akun pengguna 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_ON_HOLD Akun ditangguhkan.
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.