JSON Objekt

versioningData

versioningData

Datenelemente

ParameterFormatBedingungBeschreibung
threeDSServerTransIDstringMVon der First Cash Solution vergebene und an den 3DS-Server übermittelte eindeutige TransaktionsID
acsStartProtocolVersionstringMDie früheste (d.h. älteste) aktive Protokollversion, die vom ACS unterstützt wird, aus dem Kartenbereich-Datenbestand ermittelt.
acsEndProtocolVersionstringMDie aktuellste aktive Protokollversion, die für die ACS URL unterstützt wird, aus dem Kartenbereich-Datenbestand ermittelt.
dsStartProtocolVersionstringMDie früheste (d.h. älteste) aktive Protokollversion, die vom DS unterstützt wird, aus dem Kartenbereich-Datenbestand ermittelt oder optional aus dem Datenbestand des Directory Server, falls diese Information für den bestimmten Kartenbereich nicht vorhanden ist.
dsEndProtocolVersionstringMDie aktuellste aktive Protokollversion, die vom DS unterstützt wird, aus dem Kartenbereich-Datenbestand ermittelt oder optional aus dem Datenbestand des Directory Server, falls diese Information für den bestimmten Kartenbereich nicht vorhanden ist.
threeDSMethodURLstringMDie ACS URL, die von der 3DS Methode verwendet wird. Das Datenelement 3DSMethodURL kann Null sein, falls es von ACS für diesen bestimmten Kartenbereich nicht unterstützt wird.
hreeDSMethodDataFormstringMWert, der die Daten der 3DS Methode enthält, die im 3DS Method HTTP form POST zum ACS gesendet werden. Falls die URL der 3DS Methode nicht im Kartenbereich-Datenbestand für den bestimmten Kartenbereich gespeichert ist, wird dieses Feld Null. Die Daten der 3DS Methode enthalten ein Base64-codiertes JSON-Objekt der 3DS Server Transaction ID sowie die3DS Method Notification URL.
threeDSMethodDataobjectMObjekt, das die Datenelemente enthält, die an die 3DS Method URL zu senden sind.
errorDetailsobjectCVom 3DS Server bereitgestelltes Objekt, falls bei der Antwort auf eine Versionierungsanfrage ein Fehler aufgetreten ist (z.B. ungültige Kontonummer des Karteninhabers übermittelt, Kartenbereichsdaten nicht verfügbar, 3DS Method URL für Kontonummer des Karteninhabers nicht verfügbar, Fehler bei der Codierung/Serialisierung der Daten der 3DS Methode).

threeDSMethodData

ParameterFormatBedingungBeschreibung
threeDSMethodNotificationURLstringMURL, welche die Benachrichtigung über den Abschluss der 3DS Methode vom ACS empfängt. Diese wird in der anfänglichen Anfrage zum ACS vom 3DS Requestor übermittelt, der die 3DS Methode ausführt.
threeDSServerTransIDstringMVon der First Cash Solution vergebene und an den 3DS-Server übermittelte eindeutige TransaktionsID

errorDetails

ParameterFormatBedingungBeschreibung
threeDSServerTransIDstringMVon der First Cash Solution vergebene und an den 3DS-Server übermittelte eindeutige TransaktionsID
errorCodestringMCode, der die Art des in der Nachricht angegebenen Problems anzeigt
errorComponentstringMCode, der die 3-D Secure Komponente angibt, welche den Fehler identifiziert hat. Zulässige Werte: · C = 3DS SDK · S = 3DS Server · D = Directory Server · A = Access Control Server
errorDescriptionstringMFehlerbeschreibung

errorCode

CodeBeschreibung
101Empfange Nachricht ungültig
102Versionsnummer der Nachricht nicht unterstützt
103Limit für gesendete nachrichtet überschritten. Nur für PReq verwendet.
201Erforderliches Element fehlt
202Kritische Nachrichtenerweiterung nicht erkannt
203Format bei einem oder mehreren Elementen ungültig gemäß Spezifikationen
204Doppeles Datenelement
301Transaktions-ID nicht erkannt
302Fehler der Datenentschlüsselung
303Zugriff abgelehnt, ungültiger Endpunkt
304ISO-Code ungültig
305Transaktionsdaten ungültig
306Händler-Kategoriecode ist für das Zahlungssystem nicht gültig
307Seriennummer ungültig
402Zeitüberschreitung der Transaktion
403Vorübergehender Systemfehler
404Permanenter Systemfehler
405Systemverbindungsfehler
911Spezifischer Fehlercode von UnionPay. Vorhanden, wenn Datenfelder-Relevanzprüfung scheitert (ECI-Wert und AV-Erscheinungsbild sind inkonsistent zum Transaktionsstatus).
912Spezifischer Fehlercode von UnionPay. Vorhanden bei doppelter Transaktions-ID (Die Transaktions-ID sollte für jede AReq-Anfrage eindeutig sein).

Schema

{

        “$schema”: “http://json-schema.org/draft-07/schema#”,

        “$id”: “https://www.computop-paygate.com/schemas/versioningData.json”,

        “title”: “3DS Versioning”,

        “description”: “3DS Versionierungsdaten”,

        “type”: “object”,

        “properties”: {

               “threeDSServerTransID”: {

                       “type”: [“string”, “null”],

                       “maxLength”: 36

               },

               “acsStartProtocolVersion”: {

                       “type”: [“string”, “null”],

                       “minLength”: 5,

                       “maxLength”: 8

               },

               “acsEndProtocolVersion”: {

                       “type”: [“string”, “null”],

                       “minLength”: 5,

                       “maxLength”: 8

               },

               “dsStartProtocolVersion”: {

                       “type”: [“string”, “null”],

                       “minLength”: 5,

                       “maxLength”: 8

               },

               “dsEndProtocolVersion”: {

                       “type”: [“string”, “null”],

                       “minLength”: 5,

                       “maxLength”: 8

               },

               “threeDSMethodURL”: {

                       “type”: [“string”, “null”],

                       “maxLength”: 256

               },

               “threeDSMethodDataForm”: {

                       “type”: [“string”, “null”]

               },

               “threeDSMethodData”: {

                       “type”: [“object”, “null”],

                       “properties”: {

                               “threeDSMethodNotificationURL” : {

                                      “type”: “string”,

                                      “format”: “uri”

                               },

                               “threeDSServerTransID”: {

                                      “type”: “string”,

                                      “maxLength”: 36

                               }

                       },

                       “required”: [“threeDSMethodNotificationURL”, “threeDSServerTransID”],

                       “additionalProperties”: false

               },

               “errorDetails”: {

                       “type”: “object”,

                       “properties”: {

                               “threeDSServerTransID”: {

                                      “type”: “string”,

                                      “maxLength”: 36

                               },

                               “errorCode”: {

                                      “type”: “string”,

                                      “minLength”: 3,

                                      “maxLength”: 3

                               },

                               “errorComponent”: {

                                      “type”: “string”,

                                      “enum”: [“C”, “S”, “D”, “A”]

                               },

                               “errorDescription”: {

                                      “type”: “string”

                               }

                       },

                       “required”: [“threeDSServerTransID”, “errorCode”, “errorComponent”, “errorDescription”],

                       “additionalProperties”: false

               },

        },

        “required”: [“threeDSServerTransID”, “acsStartProtocolVersion”, “acsEndProtocolVersion”, “dsStartProtocolVersion”, “dsEndProtocolVersion”, “threeDSMethodURL”, “threeDSMethodDataForm”, “threeDSMethodData”],

        “additionalProperties”: false

}

Beispiele

Erfolgreiche Versionierung vom 3DS Server abgerufen

{

        “threeDSServerTransID”: “14dd844c-b0fc-4dfe-8635-366fbf43468c”,

        “acsStartProtocolVersion”: “2.1.0”,

        “acsEndProtocolVersion”: “2.1.0”,

        “dsStartProtocolVersion”: “2.1.0”,

        “dsEndProtocolVersion”: “2.1.0”,

        “threeDSMethodURL”: “https://3ds-sim-dev.computop.com//acs/3ds-method”,

        “threeDSMethodDataForm”: “eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly93d3cuY29tcHV0b3AtcGF5Z2F0ZS5jb20vY2JUaHJlZURTLmFzcHg_
YWN0aW9uPW10aGROdGZuIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxNGRkODQ0Yy1iMGZjLTRkZmUtODYzNS0zNjZmYmY0MzQ2OGMifQ==”,

        “threeDSMethodData”: {

               “threeDSMethodNotificationURL”: “https://www.computop-paygate.com/cbThreeDS.aspx?action=mthdNtfn”,

               “threeDSServerTransID”: “14dd844c-b0fc-4dfe-8635-366fbf43468c”

        }

}

Kartennummer nicht für 3DS 2.0 angemeldet (Fallback auf 1.0)

{

        “threeDSServerTransID”: null,

        “acsStartProtocolVersion”: null,

        “acsEndProtocolVersion”: null,

        “dsStartProtocolVersion”: null,

        “dsEndProtocolVersion”: null,

        “threeDSMethodURL”: null,

        “threeDSMethodDataForm”: null,

        “threeDSMethodData”: null,

        “errorDetails”: {

               “threeDSServerTransID”: “20cfe55b-4ba2-425d-bf3a-29479886db56”,

               “errorCode”: “404”,

               “errorComponent”: “S”,

               “errorDescription”: “Kartenkontonummer in Kartenbereich vom Directory Server nicht gefunden”

        }

}