- HTTP isteği
- İstek gövdesi
- Yanıt metni
- RequestHeader
- Sürüm
- StandardCard
- AvsData
- ResponseHeader
- CardNetworkResult
- Ağ
- AvsResult
- VerificationResult
- CvnResult
Geçerli olup olmadığını görmek için kullanıcının kartını doğrular.
Google bu yöntemi, kullanıcı kartının bilgilerini doğrulamak ve kartın ödemeler için kullanılıp kullanılamayacağını görmek için kullanır. Bu görüşmede para taşınmaz ve kullanıcının hesabında kalıcı bir değişiklik olmaz.
Örnek istek:
{
"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"
}
}
Örnek bir yanıt aşağıdaki gibidir:
{
"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"
}
HTTP isteği
POST https://card-verification-service.google.com/v1/card/verifycard
URL, gRPC Kod Dönüştürme söz dizimini kullanır.
İstek içeriği
İstek gövdesi, aşağıdaki yapıya sahip verileri içerir:
JSON gösterimi | |
---|---|
{ "requestHeader": { object( |
Alanlar | |
---|---|
requestHeader |
ZORUNLU: Tüm istekler için ortak başlık. |
standardCard |
ZORUNLU: Kullanıcının ödeme kartıyla ilgili veriler. |
avsData |
İSTEĞE BAĞLI: Kullanıcının AVS tarafından doğrulanacak adresi. |
Yanıt gövdesi
Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:
Ödeme Integrator tarafından barındırılan card.verifycard yönteminin yanıt nesnesi.
JSON gösterimi | |
---|---|
{ "responseHeader": { object( |
Alanlar | |
---|---|
responseHeader |
ZORUNLU: Tüm yanıtlar için ortak başlık. |
cardNetworkResult |
ZORUNLU: Kart ağında yetkilendirmenin verilmesinin sonucu. |
avsResult |
İSTEĞE BAĞLI: İstekte gönderilen adres alanlarının doğrulanmasının sonucu. İstekte |
cvnResult |
ZORUNLU: İstekte gönderilen CVN'nin doğrulanmasının sonucu. İstekte CVN ayarlanmamışsa bu değer |
RequestHeader
Sunucuya gönderilen tüm isteklerde tanımlanan başlık nesnesi.
JSON gösterimi | |
---|---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object( |
Alanlar | |
---|---|
requestId |
ZORUNLU: Bu isteğin benzersiz tanımlayıcısı. Bu dize, en fazla 100 karakter uzunluğunda olabilir ve yalnızca "a-z", "A-Z", "0-9", ":", "-" ve "_" karakterlerini içerir. |
requestTimestamp |
ZORUNLU: Bu isteğin, dönemden bu yana geçen milisaniye cinsinden temsil edilen zaman damgası. Alıcı, bu zaman damgasının ± 60 sn. "şimdi" olduğunu doğrulamalıdır. Bu istek zaman damgası, yeniden denemeler sonrasında belirleyici değil. |
userLocale |
İSTEĞE BAĞLI: İsteğe bağlı olarak kısa çizgi ve ISO 3166-1 Alpha-2 ülke kodundan sonra gelen iki veya üç harfli ISO 639-2 Alpha 3 dil kodu (ör. "pt", "pt-BR", "fil" veya "fil-PH"). Yanıttaki |
protocolVersion |
ZORUNLU: Bu isteğin sürümü. |
Sürüm
Klasik a.b.c
sürüm yapısının yapılandırılmış bir biçimi olan sürüm nesnesi. Aynı sayının ana sürümlerinin uyumlu olacağı garanti edilir. Küçük çaplı ve düzeltmelerin sık sık ve önceden bildirimde bulunulmaksızın değişebileceğini unutmayın. Entegratör, aynı ana sürüm için tüm istekleri desteklemelidir.
JSON gösterimi | |
---|---|
{ "major": number, "minor": number, "revision": number } |
Alanlar | |
---|---|
major |
ZORUNLU: Ana sürüm. Bu, farklı sürümlere sahip uyumluluk istekleri için işaretlenmiştir ve bunların uyumlu olacağı garanti edilmez. |
minor |
ZORUNLU: Alt sürüm. Bu, önemli hata düzeltmelerini gösterir. |
revision |
ZORUNLU: Alt sürüm. Bu, küçük hata düzeltmelerini ifade eder. |
StandardCard
Kartın standart gösterimi
JSON gösterimi | |
---|---|
{ "accountNumber": string, "expiryDate": string, "cvn": string } |
Alanlar | |
---|---|
accountNumber |
ZORUNLU: Kartın birincil hesap numarası (PAN) düz metindir. |
expiryDate |
İSTEĞE BAĞLI: Kartın son kullanma tarihi (AA/YYYY biçimindedir). Belirli bölgelerdeki bazı kartların son kullanma tarihi olmadığından isteğe bağlıdır. |
cvn |
İSTEĞE BAĞLI: Google, kullanıcıdan CVN'yi topladıysa burada sağlanır ve doğrulanması gerekir. |
AvsData
AVS tarafından doğrulanacak adres alanları içerir.
JSON gösterimi | |
---|---|
{ "streetAddress": string, "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
Alanlar | |
---|---|
streetAddress |
İSTEĞE BAĞLI: Kullanıcının fatura adresinin açık adresi. Kullanıcı açık adresini girmek için birden fazla satır sağladığında (ör. apartman numarası satırı) satırlar boşluklarla birleştirilir. |
localityName |
İSTEĞE BAĞLI: Bu kesin olmayan bir terimdir, ancak genellikle adresin şehir/ilçe bölümünü belirtir. Dünyada konumların iyi tanımlanmadığı veya bu yapıya uygun olmadığı bölgelerde (örneğin, Japonya ve Çin), localityName'i boş bırakın ve address_line kullanın. Örnekler: ABD şehri, BT komünü, Birleşik Krallık posta şehri. |
administrativeAreaName |
İSTEĞE BAĞLI: Kullanıcının fatura adresi için bu ülkenin en üst düzey idari alt bölümü. Örnekler: ABD eyaleti, BT bölgesi, Birleşik Krallık seçme ülkesi, JP idari bölgesi Ülke == ABD olduğunda, ABD Eyaleti için 2 karakterlik kısaltma olması beklenir. |
postalCodeNumber |
İSTEĞE BAĞLI: Kullanıcının fatura adresi posta kodu. |
countryCode |
İSTEĞE BAĞLI: Kullanıcının fatura adresinin ISO-3166-1 Alpha-2 biçimindeki ülke kodu. |
ResponseHeader
Sunucudan gönderilen tüm yanıtlarda tanımlanan başlık nesnesi.
JSON gösterimi | |
---|---|
{ "responseTimestamp": string } |
Alanlar | |
---|---|
responseTimestamp |
ZORUNLU: Bu yanıtın, dönemden bu yana geçen milisaniye cinsinden temsil edilen zaman damgasıdır. Alıcı, bu zaman damgasının ± 60 sn. "şimdi" olduğunu doğrulamalıdır. |
CardNetworkResult
Bir ağ ve o ağdan ham sonuç kodu içerir.
JSON gösterimi | |
---|---|
{
"network": enum( |
Alanlar | |
---|---|
network |
ZORUNLU: Sonuç kodunun geldiği ağ. |
iso8583Result |
ZORUNLU: Ağ tarafından döndürülen ISO-8583 dönüş kodu. Ağ kendi yanıt kodu biçimini kullanıyorsa entegrasyon uzmanı bu yanıt kodlarını ISO-8583 dönüş kodlarıyla eşleştirmelidir. |
rawNetworkResult |
ZORUNLU: Ağdan döndürülen ham değer. ISO-8583 dönüş kodlarını kullanan ağlar, bu alanda ve |
Ağ
rawResult
hatası döndürmüş olabilecek olası kart ağlarını tanımlar.
Sıralamalar | |
---|---|
UNKNOWN_NETWORK |
Ağ tanınmadı |
NETWORK_NOT_INVOLVED |
Reddedilme ağdan gelmediyse (örneğin, entegrasyon şirketi satın alma işlemini kart ağına göndermeden önce reddettiyse) bu değeri kullanın. |
AMEX |
AMEX Ağı |
COMPROCARD |
COMPROCARD Ağı |
DANKORT |
DANKORT Ağı |
DINACARD |
DINACARD Ağı |
DINERS_CLUB |
DINERS_CLUB Ağı |
DISCOVER |
Keşfet Ağı |
EFTPOS |
EFTPOS Ağı |
ELO |
ELO Ağı |
ENROUTE |
ENROUTE Ağı |
FELICA |
FELICA Ağı |
GE_CAPITAL |
GE_CAPITAL Ağı |
HIPERCARD |
HIPERCARD Ağı |
ID |
Kimlik Ağı |
INTERAC |
INTERAC Ağı |
JCB |
JCB Ağı |
LASER |
LASER Ağı |
MAESTRO |
MAESTRO Ağı |
MASTERCARD |
MASTERCARD Ağı |
PPT |
PPT Ağı |
QUICPAY |
QUICPAY Ağı |
RUPAY |
RUPAY Ağı |
SBERCARD |
SBERCARD Ağı |
SOLO |
SOLO Ağı |
SYNCHRONY |
SENKRONİZASYON Ağı |
UNIONPAY |
UNIONPAY Ağı |
VISA |
VISA Ağı |
AvsResult
İstekte sağlanan adres alanlarının doğrulanmasının sonucu.
Dolaylı sonuç olarak bir alanın olmamasına güvenmek yerine her alan için açık bir sonuç istediğimizden tüm alanların doldurulması zorunludur.
JSON gösterimi | |
---|---|
{ "rawAvsResult": string, "streetAddress": enum( |
Alanlar | |
---|---|
rawAvsResult |
ZORUNLU: Kart ağından döndürülen ham AVS değeri. |
streetAddress |
ZORUNLU: İsteğin İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır. |
localityName |
ZORUNLU: İsteğin İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır. |
administrativeAreaName |
ZORUNLU: İsteğin İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır. |
postalCodeNumber |
ZORUNLU: İsteğin İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır. |
countryCode |
ZORUNLU: İsteğin İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır. |
VerificationResult
Sıralamalar | |
---|---|
UNKNOWN_AVS_MATCH |
Bu varsayılan değeri asla ayarlamayın. |
NOT_SENT |
Google bu alanı göndermediğinden bu alanla ilgili hiçbir şey yapılamaz. |
MATCH |
Google, alanı entegratöre gönderdi. Alan, AVS ile kontrol edildi ve beklenen değerle eşleşti. |
MISMATCH |
Google, alanı entegratöre gönderdi. Alan AVS ile kontrol edildi ancak beklenen değerle eşleşmedi. |
SKIPPED |
Google, entegratöre sahayı gönderdi ama entegrasyon uzmanı alanı kontrol etmedi. |
NOT_SPECIFIED |
Google, alanı entegratöre gönderdi ve entegrasyon uzmanı, AVS aracılığıyla alanı kontrol etti. Ancak AVS sonuç kodu, alanın beklenen değerle eşleşip eşleşmediğini öğrenmesi için yeterli bilgi sağlamıyor. |
CvnResult
İstekte sağlanan CVN'nin doğrulanmasının sonucu.
Sıralamalar | |
---|---|
UNKNOWN_CVN_RESULT |
Bu varsayılan değeri asla ayarlamayın. |
NOT_SENT |
CVN, Google tarafından sağlanmadığı için doğrulanamadı. |
NOT_VERIFIED |
CVN, Google tarafından gönderilmiş ancak doğrulanmadı. Bu, "F" ağ sonucu koduna karşılık gelir |
MATCH |
CVN, Google tarafından gönderildi ve doğrulandı. Bu, "M" ağ sonucu koduna karşılık gelir. |
MISMATCH |
CVN, Google tarafından gönderilmiş ancak doğrulanmıştır ancak eşleşmemiştir. Bu, "N" ağ sonucu koduna karşılık gelir. |