- HTTP-Anfrage
- Anfragetext
- Antworttext
- RequestHeader
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- Version
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- StandardCard
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- AvsData
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- ResponseHeader
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- CardNetworkResult
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- Netzwerk
- AvsResult
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- VerificationResult
- CvnResult
Ü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( |
Felder | |
---|---|
requestHeader |
ERFORDERLICH: Gemeinsamer Header für alle Anfragen. |
standardCard |
ERFORDERLICH: Daten zur Zahlungskarte des Nutzers. |
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( |
Felder | |
---|---|
responseHeader |
ERFORDERLICH: Gemeinsamer Header für alle Antworten. |
cardNetworkResult |
ERFORDERLICH: Das Ergebnis der Autorisierung im Kartennetzwerk. |
avsResult |
OPTIONAL: Das Ergebnis der Überprüfung der Adressfelder, die in der Anfrage gesendet wurden. Dieses Feld ist erforderlich, wenn in der Anfrage |
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 |
RequestHeader
Headerobjekt, das für alle an den Server gesendeten Anfragen definiert ist.
JSON-Darstellung | |
---|---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object( |
Felder | |
---|---|
requestId |
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 |
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 |
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 |
protocolVersion |
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 |
ERFORDERLICH: Hauptversion. Dies ist für Kompatibilitätsanfragen mit verschiedenen Versionen gekennzeichnet, deren Kompatibilität nicht garantiert werden kann. |
minor |
ERFORDERLICH: Nebenversion. Dies weist auf wichtige Fehlerkorrekturen hin. |
revision |
ERFORDERLICH: Nebenversion. Dies weist auf kleinere Fehlerbehebungen hin. |
StandardCard
Die Standarddarstellung einer Karte
JSON-Darstellung | |
---|---|
{ "accountNumber": string, "expiryDate": string, "cvn": string } |
Felder | |
---|---|
accountNumber |
ERFORDERLICH: Die PAN (Primary Account Number) der Karte im Nur-Text-Format. |
expiryDate |
OPTIONAL: Das Ablaufdatum der Karte im Format MM/JJJJ. Optional, da für bestimmte Karten in bestimmten Regionen kein Ablaufdatum festgelegt ist. |
cvn |
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 |
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 |
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 |
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 |
OPTIONAL: Die Postleitzahl der Abrechnungsadresse des Nutzers. |
countryCode |
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 |
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( |
Felder | |
---|---|
network |
ERFORDERLICH: Das Netzwerk, aus dem der Ergebniscode stammt. |
iso8583Result |
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 |
ERFORDERLICH: Der vom Netzwerk zurückgegebene Rohwert. Für Netzwerke, die ISO-8583-Rückgabecodes verwenden, wird in diesem Feld und in |
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( |
Felder | |
---|---|
rawAvsResult |
ERFORDERLICH: Der vom Kartennetzwerk zurückgegebene AVS-Rohwert. |
streetAddress |
ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein. |
localityName |
ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein. |
administrativeAreaName |
ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein. |
postalCodeNumber |
ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld Wenn das Feld in der Anfrage nicht festgelegt wurde, sollte dieser Wert "NOT_SENT" sein. |
countryCode |
ERFORDERLICH: Das Ergebnis der Überprüfung der im Feld 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“. |