Method: card.verifycard

Überprüft die Karte eines Nutzers, um festzustellen, ob sie gültig ist.

Diese Methode wird von Google aufgerufen, um die Kartendetails eines Nutzers zu überprüfen und um festzustellen, ob die Karte für Zahlungen verwendet werden kann. Durch diesen Anruf wird kein Geld überwiesen und es sollte keine dauerhaften Änderungen am Konto des Nutzers geben.

Eine Beispielanfrage sieht so aus:


{
  "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"
  }
}

Eine Beispielantwort sieht so aus:


{
  "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-Anfrage

POST https://card-verification-service.google.com/v1/card/verifycard

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "requestHeader": {
    object(RequestHeader)
  },
  "standardCard": {
    object(StandardCard)
  },
  "avsData": {
    object(AvsData)
  }
}
Felder
requestHeader

object(RequestHeader)

ERFORDERLICH: Gemeinsamer Header für alle Anfragen.

standardCard

object(StandardCard)

ERFORDERLICH: Daten zur Zahlungskarte des Nutzers.

avsData

object(AvsData)

OPTIONAL: Die Adresse des Nutzers, die vom AVS bestätigt werden soll.

Antworttext

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

Antwortobjekt für die Methode „card.verifycard“, die vom Zahlungsintegrator gehostet wird.

JSON-Darstellung
{
  "responseHeader": {
    object(ResponseHeader)
  },
  "cardNetworkResult": {
    object(CardNetworkResult)
  },
  "avsResult": {
    object(AvsResult)
  },
  "cvnResult": enum(CvnResult)
}
Felder
responseHeader

object(ResponseHeader)

ERFORDERLICH: Gemeinsamer Header für alle Antworten.

cardNetworkResult

object(CardNetworkResult)

ERFORDERLICH: Das Ergebnis der Autorisierung im Kartennetzwerk.

avsResult

object(AvsResult)

OPTIONAL: Das Ergebnis der Überprüfung der Adressfelder, die in der Anfrage gesendet wurden.

Dieses Feld ist erforderlich, wenn in der Anfrage addressVerificationSystemData festgelegt wurde.

cvnResult

enum(CvnResult)

ERFORDERLICH: Das Ergebnis der Überprüfung der in der Anfrage gesendeten Kartenprüfnummer. Wenn in der Anfrage keine Kartenprüfnummer festgelegt wurde, sollte dieser Wert NOT_SENT sein.

RequestHeader

Headerobjekt, das für alle an den Server gesendeten Anfragen definiert ist.

JSON-Darstellung
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object(Version)
  }
}
Felder
requestId

string

ERFORDERLICH: Die eindeutige Kennung dieser Anfrage.

Der String darf maximal 100 Zeichen lang sein und nur die Zeichen „a–z“, „A–Z“, „0–9“, ":", „-“ und „_“ enthalten.

requestTimestamp

string (int64 format)

REQUIRED: Zeitstempel dieser Anfrage in Millisekunden seit der Epoche. Der Empfänger sollte überprüfen, ob dieser Zeitstempel ± 60 Sekunden von "jetzt" ist. Dieser Anfragezeitstempel ist bei Wiederholungsversuchen nicht idempotent.

userLocale
(deprecated)

string

OPTIONAL: Ein aus zwei oder drei Buchstaben bestehender ISO 639-2 Alpha-3-Sprachcode, optional gefolgt von einem Bindestrich und einem ISO 3166-1 Alpha-2-Ländercode, z.B. "pt", "pt-BR", "fil" oder "fil-PH". Hiermit können Sie die user_message-Felder in der Antwort steuern.

protocolVersion

object(Version)

ERFORDERLICH: Die Version dieser Anfrage.

Version

Versionsobjekt, das eine strukturierte Form der klassischen a.b.c-Versionsstruktur ist. Hauptversionen derselben Anzahl sind garantiert kompatibel. Beachten Sie, dass kleinere Änderungen und Überarbeitungen häufig und ohne vorherige Ankündigung geändert werden können. Der Integrator muss alle Anfragen für dieselbe Hauptversion erfüllen.

JSON-Darstellung
{
  "major": number,
  "minor": number,
  "revision": number
}
Felder
major

number

ERFORDERLICH: Hauptversion. Dies ist für Kompatibilitätsanfragen mit verschiedenen Versionen gekennzeichnet, deren Kompatibilität nicht garantiert werden kann.

minor

number

ERFORDERLICH: Nebenversion. Dies weist auf wichtige Fehlerkorrekturen hin.

revision

number

ERFORDERLICH: Nebenversion. Dies weist auf kleinere Fehlerbehebungen hin.

StandardCard

Die Standarddarstellung einer Karte

JSON-Darstellung
{
  "accountNumber": string,
  "expiryDate": string,
  "cvn": string
}
Felder
accountNumber

string

ERFORDERLICH: Die PAN (Primary Account Number) der Karte im Nur-Text-Format.

expiryDate

string

OPTIONAL: Das Ablaufdatum der Karte im Format MM/JJJJ. Optional, da für bestimmte Karten in bestimmten Regionen kein Ablaufdatum festgelegt ist.

cvn

string

OPTIONAL: Wenn Google die Kartenprüfnummer des Nutzers eingeholt hat, wird sie hier angegeben und muss verifiziert werden.

AvsData

Enthält Adressfelder, die vom AVS überprüft werden müssen.

JSON-Darstellung
{
  "streetAddress": string,
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
Felder
streetAddress

string

OPTIONAL: Die Rechnungsadresse des Nutzers. Wenn der Nutzer mehrere Zeilen zur Eingabe der Adresse angegeben hat (z.B. eine Zeile für die Wohnungsnummer), werden die Zeilen mit Leerzeichen verkettet.

localityName

string

OPTIONAL: Dieser Begriff ist etwas ungenau, bezieht sich aber im Allgemeinen auf den Ortsteil einer Adresse. Lassen Sie in Regionen der Welt, in denen Orte nicht hinreichend definiert sind oder nicht dieser Struktur entsprechen (z. B. Japan und China), das Feld "localityName" leer und verwenden Sie "address_line".

Beispiele: Stadt in den USA, italienische Gemeinde, Post Town in Großbritannien.

administrativeAreaName

string

OPTIONAL: Die oberste Verwaltungseinheit des Landes für die Rechnungsadresse des Nutzers.

Beispiele: US-Bundesstaat, IT-Region, UK-Teilstaat, JP-Präfektur

Wenn Land == US, sollte dies die zweistellige Abkürzung für den US-Bundesstaat sein.

postalCodeNumber

string

OPTIONAL: Die Postleitzahl der Abrechnungsadresse des Nutzers.

countryCode

string

OPTIONAL: Der Ländercode der Rechnungsadresse des Nutzers im Format ISO-3166-1 Alpha-2.

ResponseHeader

Header-Objekt, das für alle vom Server gesendeten Antworten definiert ist.

JSON-Darstellung
{
  "responseTimestamp": string
}
Felder
responseTimestamp

string (int64 format)

ERFORDERLICH: Der Zeitstempel dieser Antwort in Millisekunden seit der Epoche. Der Empfänger sollte überprüfen, ob dieser Zeitstempel ± 60 Sekunden von "jetzt" ist.

CardNetworkResult

Enthält ein Netzwerk und einen Rohergebniscode aus diesem Netzwerk.

JSON-Darstellung
{
  "network": enum(Network),
  "iso8583Result": string,
  "rawNetworkResult": string
}
Felder
network

enum(Network)

ERFORDERLICH: Das Netzwerk, aus dem der Ergebniscode stammt.

iso8583Result

string

ERFORDERLICH: Der vom Netzwerk zurückgegebene ISO-8583-Rückgabecode.

Wenn das Netzwerk ein eigenes Antwortcodeformat verwendet, muss der Integrator diese Antwortcodes den ISO-8583-Rückgabecodes zuordnen.

rawNetworkResult

string

ERFORDERLICH: Der vom Netzwerk zurückgegebene Rohwert. Für Netzwerke, die ISO-8583-Rückgabecodes verwenden, wird in diesem Feld und in iso8583Result bereits derselbe Wert angezeigt. Dieses Feld wird verwendet, um die Risiko-Engine von Google zu informieren, und ist am nützlichsten für Netzwerke, die ihre eigenen Antwortcodes verwenden.

Netzwerk

Definiert die möglichen Kartennetzwerke, von denen die rawResult möglicherweise zurückgegeben wurde.

Enums
UNKNOWN_NETWORK Das Netzwerk wurde nicht erkannt
NETWORK_NOT_INVOLVED Verwenden Sie diesen Wert, wenn die Ablehnung nicht aus dem Netzwerk stammt, z. B. wenn der Integrator den Kauf abgelehnt hat, bevor er an das Kartennetzwerk gesendet wurde.
AMEX AMEX Network
COMPROCARD COMPROCARD-Netzwerk
DANKORT DANKORT Network
DINACARD DINACARD-Netzwerk
DINERS_CLUB DINERS_CLUB-Netzwerk
DISCOVER Netzwerk DISCOVER
EFTPOS EFTPOS-Netzwerk
ELO ELO-Netzwerk
ENROUTE ENROUTE-Netzwerk
FELICA FELICA-Netzwerk
GE_CAPITAL GE_CAPITAL-Netzwerk
HIPERCARD HIPERCARD-Netzwerk
ID ID-Netzwerk
INTERAC INTERAC-Netzwerk
JCB JCB-Netzwerk
LASER LASER-Netzwerk
MAESTRO MAESTRO Network
MASTERCARD MASTERCARD-Netzwerk
PPT PPT-Netzwerk
QUICPAY QUICPAY-Netzwerk
RUPAY RUPAY-Netzwerk
SBERCARD SBERCARD-Netzwerk
SOLO SOLO-Netzwerk
SYNCHRONY SYNCHRONY-Netzwerk
UNIONPAY UNIONPAY-Netzwerk
VISA VISA-Netzwerk

AvsResult

Das Ergebnis der Überprüfung der in der Anfrage angegebenen Adressfelder.

Alle Felder sind erforderlich, da wir für jedes Feld ein explizites Ergebnis haben möchten, anstatt sich auf das Fehlen eines Felds als implizites Ergebnis zu verlassen.

JSON-Darstellung
{
  "rawAvsResult": string,
  "streetAddress": enum(VerificationResult),
  "localityName": enum(VerificationResult),
  "administrativeAreaName": enum(VerificationResult),
  "postalCodeNumber": enum(VerificationResult),
  "countryCode": enum(VerificationResult)
}
Felder
rawAvsResult

string

ERFORDERLICH: Der vom Kartennetzwerk zurückgegebene AVS-Rohwert.

streetAddress

enum(VerificationResult)

ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld addressVerificationSystemData der Anfrage gesendeten streetAddress.

Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein.

localityName

enum(VerificationResult)

ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld addressVerificationSystemData der Anfrage gesendeten localityName.

Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein.

administrativeAreaName

enum(VerificationResult)

ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld addressVerificationSystemData der Anfrage gesendeten administrativeAreaName.

Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein.

postalCodeNumber

enum(VerificationResult)

ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld addressVerificationSystemData der Anfrage gesendeten postalCodeNumber.

Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein.

countryCode

enum(VerificationResult)

ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld addressVerificationSystemData der Anfrage gesendeten countryCode.

Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein.

VerificationResult

Enums
UNKNOWN_AVS_MATCH Legen Sie diesen Standardwert niemals fest.
NOT_SENT Google hat dieses Feld nicht gesendet, sodass es nicht verwendet werden konnte.
MATCH Google hat das Feld an den Integrator gesendet. Es wurde über AVS geprüft und entsprach dem erwarteten Wert.
MISMATCH Google hat das Feld an den Integrator gesendet. Es wurde über AVS geprüft, stimmt aber nicht mit dem erwarteten Wert überein.
SKIPPED Google hat das Feld an den Integrator gesendet, der es jedoch nicht überprüft hat.
NOT_SPECIFIED Google hat das Feld an den Integrator gesendet und der Integrator hat das Feld über AVS geprüft. Der AVS-Ergebniscode enthält jedoch nicht genügend Informationen, um festzustellen, ob das Feld mit dem erwarteten Wert übereinstimmt.

CvnResult

Das Ergebnis der Überprüfung der in der Anfrage angegebenen Kartenprüfnummer.

Enums
UNKNOWN_CVN_RESULT Legen Sie diesen Standardwert niemals fest.
NOT_SENT Die Kartenprüfnummer wurde von Google nicht zur Verfügung gestellt und konnte daher nicht bestätigt werden.
NOT_VERIFIED Google hat die Kartenprüfnummer gesendet, diese wurde jedoch nicht bestätigt. Das entspricht dem Netzwerkergebniscode „F“
MATCH Google hat die Kartenprüfnummer gesendet. Diese wurde verifiziert und abgeglichen. Das entspricht dem Netzwerkergebniscode "M".
MISMATCH Google hat die Kartenprüfnummer gesendet. Sie wurde bestätigt, sie stimmt aber nicht überein. Das entspricht dem Netzwerkergebniscode „N“.