Übersicht
Wenn die Rückgabe der Pseudokartennumer aktiviert ist, können Sie Ihren Kunden ab dem zweiten Einkauf das Kreditkartenformular mit der zuvor genutzten Karte vorbelegen. Es wird bei der ersten Transaktion eine Pseudokartennummer generiert und an Ihr Shop-System zurückgegeben. Diesen Token können Sie im Gegensatz zu Echtkartennummern speichern, ohne dass es einer zusätzlichen Zertifizierung bedarf.
Die Pseudokartennummer kann dann für zukünftige Transaktionen an das Formular übermittelt werden.
Voraussetzungen zur Nutzung
- Das Produkt "Pseudokartennummer" ist auf Ihrer MerchantID aktiv
- Sie nutzen ein Computop-Template das diese Funktion unterstützt. Derzeit sind es "ct_responsive" und "ct_cards_v1"
- Die Vorbelegungsfunktion muss von unserem Merchant Services aktiviert werden. Die Funktion hat keinen Einfluss auf andere Abläufe, daher kann die Aktivierung jederzeit erfolgen
- Sie dürfen den Parameter credentialOnFile nicht in den Zahlungsaufruf übergeben. Das Paygate kümmert sich selbst - abhängig vom Setzen der Checkbox - um das korrekte Flagging in Richtung der Bank
Beispiel Checkbox
Vorgehen beim Erstkauf
- Sollte der Kunde dem Speichern für zukünftige Einkäufe zustimmen und die Checkbox aktivieren, erhalten Sie den zusätzlichen Parameter "prefill=on" in der Zahlungsbenachrichtigung im Anschluss an eine Transaktion zurück
- Im card-Antwortobjekt finden Sie Pseudokartennummer, Kartenmarke, das Ablaufdatum und den vom Kunden zuvor eingegebenen Karteninhabernamen. Speichern Sie diese Werte am Datensatz des Kunden
- In den Key-Value-Pairs befindet sich außerdem die SchemeReferenceID, welche bei der Registrierung ebenfalls gespeichert werden muss
Beispiel-Antwort
mid=mymid
&Code=00000000
&Status=AUTHORIZED
&card=eyJjYXJkaG9sZGVyTmFtZSI6InR0[...]
&prefill=on
&schemeReferenceID=5834d7bc4
[...]
Beispiel card-Objekt (Antwort)
{
"cardholderName": "Jane Doe",
"number": "0949128693311459",
"expiryDate": "202502",
"bin": {
"accountBIN": "523212"
},
"brand": "MasterCard",
"product": "",
"source": "CREDIT",
"type": "STANDARD",
"country": {
"countryName": "Germany",
"countryA2": "DE",
"countryA3": "DEU",
"countryNumber": "276"
},
"issuer": "EURO KARTENSYSTEME GMBH"
}
Vorgehen bei weiteren Einkäufen
- Im verschlüsselten Teil des Aufrufs fügen Sie nun base64-kodiert das card-Requestobjekt ein. Enthalten sein sollten ebenfalls wieder Pseudokartennummer, Kartenmarke, das Ablaufdatum und der Karteninhabername.
- Geben Sie immer die initial erhaltene SchemeReferenceID als Parameter der Key-Value-Pairs mit
- Das Formular wird nun vorbelegt
Beispiel Vorbelegung
Häufige Fragen
Warum sollte ich das credentialOnFile-Objekt mit dieser Funktion nicht mehr übermitteln?
Normalerweise müssten Sie für eine Vorbelegungsfunktion übergeben, dass es sich um eine kundeninitiierte, initiale Transaktion (CIT; initial=true) handelt. Allerdings können Ihre Systeme zu diesem Zeitpunkt noch nicht wissen, ob sich der Kunde dafür entscheidet, die Kartendaten zu speichern oder ob nur ein Eimalkauf stattfinden wird, der nicht unter die Credential On File Vereinbarungen der Kartenmarken fällt.
Daher übernimmt das Paygate immer die korrekte Kennzeichnung.
Hintergrund: Bei "CIT; initial=true" müssen Kunden immer eine Authentifizierung bei ihrer Bank ausführen, bei Einmaltransaktionen entscheidet die Bank aufgrund des berechneten Risikos ob eine Authentifizierung erforderlich ist. Dies wirkt sich daher auch auf die Erfolgs- und Abschlussraten aus.
Kann ich auch den Computop Scheme Token Service in Verbindung mit der Vorbelegung nutzen?
Ja, sofern die Pseudokartennummernfunktion auf Ihrer MerchantID aktiv ist, kann Computop sogenannte Scheme Tokens in der Kommunikation mit den Acquirern verwenden, was einige Vorteile wie höhere Autorisierungsquoten und ggf. geringere Acquiringgebühren bringen kann.
Welches Flagging verwendet das Paygate für Credential on File?
- Bei der Registrierung (Kunde aktiviert die Checkbox): CIT; initial=true
- Bei einem Einmalkauf (Kunde belässt die Checkbox inaktiv): Kein Credential On File Flagging
- Bei einem Einkauf mit Vorbelegung: CIT; initial=false