Method: card.verifycard

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(RequestHeader)
  },
  "standardCard": {
    object(StandardCard)
  },
  "avsData": {
    object(AvsData)
  }
}
Alanlar
requestHeader

object(RequestHeader)

ZORUNLU: Tüm istekler için ortak başlık.

standardCard

object(StandardCard)

ZORUNLU: Kullanıcının ödeme kartıyla ilgili veriler.

avsData

object(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(ResponseHeader)
  },
  "cardNetworkResult": {
    object(CardNetworkResult)
  },
  "avsResult": {
    object(AvsResult)
  },
  "cvnResult": enum(CvnResult)
}
Alanlar
responseHeader

object(ResponseHeader)

ZORUNLU: Tüm yanıtlar için ortak başlık.

cardNetworkResult

object(CardNetworkResult)

ZORUNLU: Kart ağında yetkilendirmenin verilmesinin sonucu.

avsResult

object(AvsResult)

İSTEĞE BAĞLI: İstekte gönderilen adres alanlarının doğrulanmasının sonucu.

İstekte addressVerificationSystemData ayarlanmışsa bu alan gereklidir.

cvnResult

enum(CvnResult)

ZORUNLU: İstekte gönderilen CVN'nin doğrulanmasının sonucu. İstekte CVN ayarlanmamışsa bu değer NOT_SENT olmalıdır.

RequestHeader

Sunucuya gönderilen tüm isteklerde tanımlanan başlık nesnesi.

JSON gösterimi
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object(Version)
  }
}
Alanlar
requestId

string

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

string (int64 format)

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
(deprecated)

string

İ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 user_message alanlarını desteklemek için bunu kullanın.

protocolVersion

object(Version)

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

number

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

number

ZORUNLU: Alt sürüm. Bu, önemli hata düzeltmelerini gösterir.

revision

number

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

string

ZORUNLU: Kartın birincil hesap numarası (PAN) düz metindir.

expiryDate

string

İ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

string

İ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

string

İ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

string

İ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

string

İ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

string

İSTEĞE BAĞLI: Kullanıcının fatura adresi posta kodu.

countryCode

string

İ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

string (int64 format)

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(Network),
  "iso8583Result": string,
  "rawNetworkResult": string
}
Alanlar
network

enum(Network)

ZORUNLU: Sonuç kodunun geldiği ağ.

iso8583Result

string

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

string

ZORUNLU: Ağdan döndürülen ham değer. ISO-8583 dönüş kodlarını kullanan ağlar, bu alanda ve iso8583Result özelliğinde zaten aynı değere sahip olur. Bu alan, Google'ın risk motorunu bildirmek için kullanılır ve en çok kendi yanıt kodlarını kullanan ağlar için yararlıdır.

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(VerificationResult),
  "localityName": enum(VerificationResult),
  "administrativeAreaName": enum(VerificationResult),
  "postalCodeNumber": enum(VerificationResult),
  "countryCode": enum(VerificationResult)
}
Alanlar
rawAvsResult

string

ZORUNLU: Kart ağından döndürülen ham AVS değeri.

streetAddress

enum(VerificationResult)

ZORUNLU: İsteğin addressVerificationSystemData alanında gönderilen streetAddress kodunun doğrulanmasının sonucu.

İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır.

localityName

enum(VerificationResult)

ZORUNLU: İsteğin addressVerificationSystemData alanında gönderilen localityName kodunun doğrulanmasının sonucu.

İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır.

administrativeAreaName

enum(VerificationResult)

ZORUNLU: İsteğin addressVerificationSystemData alanında gönderilen administrativeAreaName kodunun doğrulanmasının sonucu.

İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır.

postalCodeNumber

enum(VerificationResult)

ZORUNLU: İsteğin addressVerificationSystemData alanında gönderilen postalCodeNumber kodunun doğrulanmasının sonucu.

İstekte alan ayarlanmamışsa bu değer "NOT_SENT" olmalıdır.

countryCode

enum(VerificationResult)

ZORUNLU: İsteğin addressVerificationSystemData alanında gönderilen countryCode kodunun doğrulanmasının sonucu.

İ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.