- Permintaan HTTP
- Isi Permintaan
- Isi respons
- RequestHeader
- Versi
- StandardCard
- AvsData
- ResponseHeader
- CardNetworkResult
- Jaringan
- AvsResult
- VerificationResult
- CvnResult
Memverifikasi kartu pengguna untuk melihat apakah kartu tersebut valid.
Metode ini dipanggil oleh Google untuk memverifikasi detail kartu pengguna dan melihat apakah kartu tersebut dapat digunakan untuk pembayaran. Panggilan ini tidak memindahkan uang dan tidak boleh ada perubahan permanen pada akun pengguna.
Contoh permintaan terlihat seperti:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "ZWNobyB0cmFuc2FjdGlvbg",
"requestTimestamp": "1481855969503"
},
"standardCard": {
"accountNumber": "4123456789101112",
"expiryDate": "01/2020",
"cvn": "123"
},
"avsData": {
"streetAddress": "123 Main St APT #200",
"localityName": "Springfield",
"administrativeAreaName": "CO",
"countryCode": "US"
}
}
Contoh respons akan terlihat seperti ini:
{
"responseHeader": {
"responseTimestamp": "1481855970403",
},
"cardNetworkResult": {
"network": "VISA",
"iso8583Result": "00",
"rawNetworkResult": "00"
},
"avsResult": {
"rawAvsResult": "B",
"streetAddress": "MATCH",
"localityName": "MATCH",
"administrativeAreaName": "MATCH",
"postalCodeNumber": "NOT_SENT",
"countryCode": "SKIPPED"
},
"cvnResult": "MATCH"
}
Permintaan HTTP
POST https://card-verification-service.google.com/v1/card/verifycard
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Representasi JSON | |
---|---|
{ "requestHeader": { object( |
Kolom | |
---|---|
requestHeader |
WAJIB: Header umum untuk semua permintaan. |
standardCard |
WAJIB: Data tentang kartu pembayaran pengguna. |
avsData |
OPSIONAL: Alamat pengguna yang akan diverifikasi oleh AVS. |
Isi respons
Jika berhasil, isi respons memuat data dengan struktur berikut:
Objek respons untuk metode card.verifycard yang dihosting Integrator Pembayaran.
Representasi JSON | |
---|---|
{ "responseHeader": { object( |
Kolom | |
---|---|
responseHeader |
WAJIB: Header umum untuk semua respons. |
cardNetworkResult |
WAJIB: Hasil dari pemberian otorisasi pada jaringan kartu. |
avsResult |
OPSIONAL: Hasil dari verifikasi kolom alamat yang dikirim dalam permintaan. Kolom ini wajib ada jika |
cvnResult |
WAJIB: Hasil verifikasi CVN yang dikirim dalam permintaan. Jika CVN tidak ditetapkan pada permintaan, nilai ini harus |
RequestHeader
Objek header yang ditentukan pada semua permintaan yang dikirim ke server.
Representasi JSON | |
---|---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object( |
Kolom | |
---|---|
requestId |
WAJIB: ID unik permintaan ini. String ini memiliki panjang maksimal 100 karakter, dan hanya berisi karakter "a-z", "A-Z", "0-9", ":", "-", dan "_". |
requestTimestamp |
WAJIB: Stempel waktu permintaan ini diwakili sebagai milidetik sejak epoch. Penerima harus memverifikasi bahwa stempel waktu ini adalah ± 60 detik dari 'sekarang'. Stempel waktu permintaan ini tidak idempoten saat percobaan ulang. |
userLocale |
OPSIONAL: Kode bahasa dua atau tiga huruf ISO 639-2 Alpha 3 yang secara opsional diikuti dengan tanda hubung dan kode negara ISO 3166-1 Alpha-2, misalnya 'pt', 'pt-BR', 'fil', atau 'fil-PH'. Gunakan ini untuk membantu mendorong kolom |
protocolVersion |
WAJIB: Versi permintaan ini. |
Versi
Objek versi yang merupakan bentuk terstruktur dari struktur versi a.b.c
klasik. Versi utama dari nomor yang sama dijamin kompatibel. Perlu diketahui bahwa revisi kecil dan revisi dapat sering berubah dan tanpa pemberitahuan. Integrator harus mendukung semua permintaan untuk versi utama yang sama.
Representasi JSON | |
---|---|
{ "major": number, "minor": number, "revision": number } |
Kolom | |
---|---|
major |
WAJIB: Versi utama. Hal ini ditandai untuk permintaan kompatibilitas dengan versi yang berbeda tidak dijamin akan kompatibel. |
minor |
WAJIB: Versi minor. Hal ini menunjukkan perbaikan bug yang signifikan. |
revision |
WAJIB: Versi minor. Ini menunjukkan perbaikan {i>bug<i} minor. |
StandardCard
Representasi standar kartu
Representasi JSON | |
---|---|
{ "accountNumber": string, "expiryDate": string, "cvn": string } |
Kolom | |
---|---|
accountNumber |
WAJIB: Nomor Rekening Utama (PAN) kartu dalam teks biasa. |
expiryDate |
OPSIONAL: Tanggal habis masa berlaku kartu dalam format MM/YYYY. Opsional karena kartu tertentu di wilayah tertentu tidak memiliki tanggal habis masa berlaku. |
cvn |
OPSIONAL: Jika Google mengumpulkan CVN dari pengguna, CVN diberikan di sini dan harus diverifikasi. |
AvsData
Berisi kolom alamat yang akan diverifikasi oleh AVS.
Representasi JSON | |
---|---|
{ "streetAddress": string, "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
Kolom | |
---|---|
streetAddress |
OPSIONAL: Alamat alamat penagihan pengguna. Ketika pengguna telah menyediakan beberapa baris untuk memasukkan alamat jalan (misalnya, baris untuk nomor apartemen), baris tersebut digabungkan dengan spasi. |
localityName |
OPSIONAL: Istilah ini samar-samar, tetapi umumnya mengacu pada bagian kota dari suatu alamat. Di wilayah dunia dengan lokalitas yang tidak didefinisikan dengan baik atau tidak cocok dengan struktur ini (misalnya, Jepang dan China), kosongkan localityName dan gunakan address_line. Contoh: US city, IT comune, UK post city. |
administrativeAreaName |
OPSIONAL: Subdivisi administratif tingkat teratas negara ini untuk alamat penagihan pengguna. Contoh: Negara bagian AS, wilayah IT, negara konstituen Inggris Raya, prefektur Jepang Jika country == US, ini diharapkan menjadi singkatan 2 karakter untuk Negara Bagian AS. |
postalCodeNumber |
OPSIONAL: Kode pos penagihan pengguna. |
countryCode |
OPSIONAL: Kode negara alamat penagihan pengguna dalam format ISO-3166-1 Alpha-2. |
ResponseHeader
Objek header yang ditentukan pada semua respons yang dikirim dari server.
Representasi JSON | |
---|---|
{ "responseTimestamp": string } |
Kolom | |
---|---|
responseTimestamp |
WAJIB: Stempel waktu respons ini direpresentasikan sebagai milidetik sejak epoch. Penerima harus memverifikasi bahwa stempel waktu ini adalah ± 60 detik dari 'sekarang'. |
CardNetworkResult
Berisi jaringan dan kode hasil mentah dari jaringan tersebut.
Representasi JSON | |
---|---|
{
"network": enum( |
Kolom | |
---|---|
network |
WAJIB: Jaringan tempat kode hasil berasal. |
iso8583Result |
WAJIB: Kode pengembalian ISO-8583 yang ditampilkan oleh jaringan. Jika jaringan menggunakan format kode respons mereka sendiri, integrator harus memetakan kode respons tersebut ke kode respons ISO-8583. |
rawNetworkResult |
WAJIB: Nilai mentah yang ditampilkan dari jaringan. Jaringan yang menggunakan kode pengembalian ISO-8583 sudah akan memiliki nilai yang sama di kolom ini dan di |
Jaringan
Menentukan kemungkinan jaringan kartu yang mungkin telah menampilkan rawResult
.
Enum | |
---|---|
UNKNOWN_NETWORK |
Jaringan tidak dikenali |
NETWORK_NOT_INVOLVED |
Gunakan nilai ini jika penolakan tidak berasal dari jaringan. Misalnya, jika integrator menolak pembelian bahkan sebelum penolakan dikirim di jaringan kartu. |
AMEX |
Jaringan AMEX |
COMPROCARD |
Jaringan COMPROCARD |
DANKORT |
Jaringan DANKORT |
DINACARD |
Jaringan DINACARD |
DINERS_CLUB |
Jaringan DINERS_CLUB |
DISCOVER |
Temukan Jaringan |
EFTPOS |
Jaringan EFTPOS |
ELO |
Jaringan ELO |
ENROUTE |
Jaringan ENROUTE |
FELICA |
Jaringan FELICA |
GE_CAPITAL |
Jaringan GE_CAPITAL |
HIPERCARD |
Jaringan HIPERCARD |
ID |
Jaringan ID |
INTERAC |
Jaringan INTERAC |
JCB |
Jaringan JCB |
LASER |
Jaringan LASER |
MAESTRO |
Jaringan MAESTRO |
MASTERCARD |
Jaringan MASTERCARD |
PPT |
Jaringan PPT |
QUICPAY |
Jaringan QUICPAY |
RUPAY |
Jaringan RUPAY |
SBERCARD |
Jaringan SBERCARD |
SOLO |
Jaringan SOLO |
SYNCHRONY |
Jaringan SYNCHRONY |
UNIONPAY |
Jaringan UNIONPAY |
VISA |
Jaringan VISA |
AvsResult
Hasil verifikasi kolom alamat yang diberikan dalam permintaan.
Semua kolom wajib ada karena kita menginginkan hasil eksplisit untuk setiap kolom, bukan mengandalkan tidak adanya kolom sebagai hasil tersirat.
Representasi JSON | |
---|---|
{ "rawAvsResult": string, "streetAddress": enum( |
Kolom | |
---|---|
rawAvsResult |
WAJIB: Nilai AVS mentah yang ditampilkan dari jaringan kartu. |
streetAddress |
WAJIB: Hasil verifikasi Jika kolom tidak ditetapkan dalam permintaan, nilai ini harus "NOT_SENT". |
localityName |
WAJIB: Hasil verifikasi Jika kolom tidak ditetapkan dalam permintaan, nilai ini harus "NOT_SENT". |
administrativeAreaName |
WAJIB: Hasil verifikasi Jika kolom tidak ditetapkan dalam permintaan, nilai ini harus "NOT_SENT". |
postalCodeNumber |
WAJIB: Hasil verifikasi Jika kolom tidak ditetapkan dalam permintaan, nilai ini harus "NOT_SENT". |
countryCode |
WAJIB: Hasil verifikasi Jika kolom tidak ditetapkan dalam permintaan, nilai ini harus "NOT_SENT". |
VerificationResult
Enum | |
---|---|
UNKNOWN_AVS_MATCH |
Jangan pernah menetapkan nilai default ini! |
NOT_SENT |
Google tidak mengirim kolom ini sehingga tidak ada yang dapat dilakukan dengan kolom tersebut. |
MATCH |
Google mengirimkan kolom ini ke integrator dan diperiksa melalui AVS serta cocok dengan nilai yang diharapkan. |
MISMATCH |
Google mengirimkan kolom ini ke integrator dan diperiksa melalui AVS, tetapi nilai tersebut tidak sesuai dengan yang diharapkan. |
SKIPPED |
Google mengirimkan lapangan ke integrator, tetapi integrator tidak memeriksa lapangan tersebut. |
NOT_SPECIFIED |
Google mengirimkan kolom ini ke integrator dan integrator memeriksa kolom tersebut melalui AVS, tetapi kode hasil AVS tidak memberikan info yang memadai bagi integrator untuk mengetahui apakah kolom tersebut cocok dengan nilai yang diharapkan. |
CvnResult
Hasil verifikasi CVN yang diberikan dalam permintaan.
Enum | |
---|---|
UNKNOWN_CVN_RESULT |
Jangan pernah menetapkan nilai default ini! |
NOT_SENT |
Google tidak memberikan CVN, sehingga tidak dapat diverifikasi. |
NOT_VERIFIED |
Google telah mengirimkan CVN, tetapi tidak diverifikasi. Ini sesuai dengan kode hasil jaringan "F" |
MATCH |
Google telah mengirim CVN, diverifikasi, dan cocok. Ini sesuai dengan kode hasil jaringan "M". |
MISMATCH |
Google telah mengirimkan CVN, yang telah diverifikasi, tetapi tidak cocok. Ini sesuai dengan kode hasil jaringan "N". |