Sie können unsere JavaScript Library nutzen, um wiederkehrenden Kunden die Möglichkeit zu geben, Zahlungen über Ihre App abzuwickeln, ohne dass sie alle ihre Kartendaten erneut eingeben müssen. Dies führt nicht nur zu schnelleren und einfacheren Zahlungen für Ihre Kunden, sondern Ihr Unternehmen profitiert auch davon, dass Sie keine sensiblen Kartennummern speichern müssen (dies kann Ihren PCI-Akkreditierungsprozess vereinfachen).
Dieser Vorgang wird Tokenisierung genannt.
In diesem Dokument wird erklärt, wie eine Account check Anfrage verwendet werden kann, um die Zahlungsdaten des Kunden für Tokenisierung zu speichern. Account check Anfragen belasten das Bankkonto des Kunden nicht.
Falls gewünscht, kann Tokenisierung aber auch für frühere Autorisierung Anfragen, die dem Kunden in Rechnung gestellt wurden, durchgeführt werden, sofern die Anforderungen der Daten Hinterlegt Mandat erfüllt sind. Hierfür benötigen Sie die transactionreference der Zahlung, die Sie wiederholen möchten, und fahren Sie dann mit der Konfiguration für tokenisierte Zahlung Abschnitt dieses Dokuments, der weiter unten zu finden ist.
Voraussetzungen
- Account Checks werden von Händlern mit einem Trust Payments Acquiring-Konto unterstützt. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie unser Support-Team kontaktieren, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren.
- Account Checks kann nur bei kartenbasierten Zahlungsmitteln durchgeführt werden.
Um Betrug zu verhindern, hat Visa angeordnet, dass alle Händler mit einem Kunden Categorie Nummer (MCC) von 6012 zusätzliche Felder in AUTH und ACCOUNTCHECK Anfragen senden müssen. Klicken Sie hier für weitere Informationen.
Überblick über den Prozess
- Jede Transaktion lässt sich anhand ihrer transactionreference, eine eindeutige Kennung, die von Trust Payments zugewiesen wird. Wenn ein neuer Kunde über Ihre App bestellt, müssen Sie sicherstellen, dass Ihr eigenes System einen Datensatz über den transactionreference zurückgegeben.
- Ihr Zahlungsantrag kann folgende Angaben enthalten transactionreference aus dem letzten Kauf des Kunden - oder Account check -, um die Kartennummer und das Ablaufdatum für einen neuen Kauf zu übernehmen (wir erklären, wie das geht, weiter unten).
- Der Kunde wird aufgefordert, den Sicherheitscode einzugeben, der sich normalerweise auf der Rückseite seiner Karte befindet (da wir diesen Wert aus Sicherheitsgründen nicht in unseren Unterlagen speichern können). Der Kunde muss diesen Code eingeben, damit zusätzliche Sicherheitsüberprüfungen durch den Kartenaussteller durchgeführt werden können.
- Wir werden dann die tokenisierte Zahlung verarbeiten. Stellen Sie sicher, dass Ihr System den Antwort-JWT überprüft, um zu bestätigen, dass die neue Zahlung erfolgreich verarbeitet wurde.
Apple Pay unterstützt Tokenisierung nicht auf diese Weise.
Konfiguration für die Speicherung von Zahlungsnachweisen
Um die Zahlungsdaten des Kunden auf dem System Trust Payments zu speichern und eine Referenz für die Verwendung bei zukünftigen Einkäufen zu erhalten, kann Ihr System eine Account check über unser JavaScript Library verarbeiten.
Konfigurieren Sie das JWT
Sie müssen sicherstellen, dass Ihr JWT payload die folgenden Felder enthält:
Feldspezifikation
Feld | Format | Beschreibung | |
credentialsonfile | Numerisch (1) | Dies muss auf "1" gesetzt werden, um anzuzeigen, dass der Kunde damit einverstanden ist, dass die Zahlungsdaten für zukünftige Transaktionen gespeichert werden. Siehe unten für weitere Informationen. | |
requesttypedescriptions | Liste |
|
Wenn die credentialsonfile Feld in der Anfrage übermittelt wurde und vom Acquirer, der die Transaktion bearbeitet, unterstützt wird, wird es in der Antwort JWT zurückgegeben.
Wenn die übergeordnete Antwort angibt, dass ein Fehler aufgetreten ist (errorcode nicht "0" ist), kann der Berechtigungsnachweis nicht als gespeicherter Berechtigungsnachweis betrachtet werden, und Sie dürfen diese Kartendaten nicht für weitere Zahlungen verwenden.
Zahlung - Tokenisierung (Speicherung) von Kartendaten - Vom Karteninhaber initiierte Transaktion
Fügen Sie die folgenden requesttypedescriptions in den JWT payload ein: ["THREEDQUERY","AUTH"]
- Die 3-D-Abfrage wird bearbeitet. Diese authentifiziert den Kunden über 3-D Secure.
- Anschließend wird die Seite Autorisierung bearbeitet. Damit wird eine Zahlung über die Karte des Kunden abgewickelt.
Payload Beispiel:
{
"payload": {
"accounttypedescription": "ECOM",
"baseamount": "1050",
"currencyiso3a": "GBP",
"sitereference": "test_site12345",
"credentialsonfile": "1",
"requesttypedescriptions": [
"THREEDQUERY",
"AUTH"
]
},
"iat": 1559033849,
"iss": "jwt.user"
}
Keine Zahlung - Tokenisierung (Speicherung) der Kartendaten - Vom Karteninhaber initiierte Transaktion
Fügen Sie die folgenden requesttypedescriptions in den JWT payload ein: ["THREEDQUERY","ACCOUNTCHECK"]
- Die 3-D-Abfrage wird bearbeitet. Diese authentifiziert den Kunden über 3-D Secure.
- Anschließend wird eine Account Check mit der Karte des Kunden verknüpft. Damit wird überprüft, ob die eingereichte Karte gültig ist.
Payload Beispiel:
{
"payload": {
"accounttypedescription": "ECOM",
"baseamount": "1050",
"currencyiso3a": "GBP",
"sitereference": "test_site12345",
"credentialsonfile": "1",
"requesttypedescriptions": [
"THREEDQUERY",
"ACCOUNTCHECK"
]
},
"iat": 1559033849,
"iss": "jwt.user"
}
Über Daten Hinterlegt
Ein gespeicherter Berechtigungsnachweis ist eine Information (einschließlich, aber nicht beschränkt auf eine Kontonummer oder ein Zahlungs-Token), die gespeichert wird, um zukünftige Transaktionen zu verarbeiten.
Der Prozess der Speicherung von Anmeldeinformationen für die künftige Verwendung ist bekannt als Daten Hinterlegt (CoF).
Visa und Mastercard haben angeordnet, dass Sie muss die Zustimmung des Karteninhabers einholen vor der Speicherung von Kartendaten für die künftige Verwendung, und dass diese muss zum Zeitpunkt der ersten Meldung gekennzeichnet werden Genehmigung, durch Übermittlung der credentialsonfile Feld in Ihren Anfragen. Sie müssen auch alle nachfolgenden Zahlungen kennzeichnen, bei denen zuvor gespeicherte Anmeldeinformationen verwendet werden, indem Sie das Feld credentialsonfile Feld in diesen Anfragen.
Die Identifizierung von Transaktionen unter CoF bietet folgende Vorteile:
- Erhöht die Wahrscheinlichkeit einer Transaktion Autorisierung und Abrechnung.
- Größere Transparenz und bessere Erfahrungen aus der Sicht des Kunden.
- Es ist weniger wahrscheinlich, dass Emittenten das Fehlen eines Sicherheitscodes als Grund für die Ablehnung einer Transaktion angeben.
Umgang mit der Antwort
Nachdem die Anfrage verarbeitet wurde, erhalten Sie ein einzelnes Antwort-JWT, das die Antwort auf die Anfrage ACCOUNTCHECK enthält:
- Stellen Sie sicher, dass die errorcode Der zurückgegebene Wert ist "0", was den Erfolg anzeigt. (Sie dürfen keine Anmeldedaten speichern, wenn ein Fehler aufgetreten ist)
- Prüfen Sie die Werte, die in der securityresponseaddress, securityresponsepostcode und securityresponsesecuritycode Felder. Klicken Sie hier für weitere Informationen zu diesen Kontrollen und nur fortfahren, wenn die geschäftlichen Anforderungen erfüllt sind.
Nach erfolgreicher Tokenisierung können Sie die transactionreference in Ihren Unterlagen. Diese werden später benötigt, um eine neue Zahlung mit den gespeicherten Zahlungsdaten zu verarbeiten. Sie können auch die letzten vier Ziffern der maskedpan und paymenttypedescription um sie wiederkehrenden Kunden bei der Wahl der Zahlungsmethode für ihren nächsten Einkauf anzuzeigen.
Konfiguration für tokenisierte Zahlung
Aktualisieren Sie Ihr Zahlungsformular
Zunächst müssen Sie Ihr Zahlungsformular aktualisieren, damit es das zusätzliche Feld enthält fieldsToSubmit.
fieldsToSubmit erfordert eine Liste, die den Wert "securitycode".
Da der Kunde nur zur Eingabe seines Sicherheitscodes aufgefordert werden muss, blendet das JavaScript automatisch die Seite PAN (st-card-number) und Verfallsdatum (st-expiration-date) divs. Diese werden dem Kunden nicht angezeigt.
Nachstehend finden Sie ein Beispiel als Referenz:
<html>
<head>
</head>
<body>
<div id="st-notification-frame"></div>
<form id="st-form" action="https://www.example.com" method="POST">
<div id="st-security-code" class="st-security-code"></div>
<button type="submit" id="st-form__submit" class="st-form__submit">
Pay securely
</button>
</form>
<script src="<CDN_DOMAIN>"></script>
<script>
(function() {
var st = SecureTrading({
jwt: 'INSERT YOUR JWT HERE',
fieldsToSubmit: ['securitycode']
});
st.Components();
})();
</script>
</body>
</html>
Ersetzen Sie <CDN_DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Konfigurieren Sie das JWT
Sie müssen auch sicherstellen, dass Ihr JWT payload die folgenden Felder enthält:
Feldspezifikation
Feld | Format | Beschreibung | |
credentialsonfile | Numerisch (1) | Dies muss auf "2" gesetzt werden, um anzuzeigen, dass die neue Transaktion zuvor gespeicherte Anmeldeinformationen verwendet. | |
parenttransactionreference |
Alphanumerisch & Bindestriche (25) |
Geben Sie die Transaktionsnummer des vorherigen Antrags ein, von dem die Kartendaten übernommen werden sollen. | |
|
requesttypedescriptions | Liste |
|
Zahlung - Tokenisierte (gespeicherte) Kartendaten - vom Karteninhaber initiierte Transaktion
Fügen Sie die folgenden requesttypedescriptions in den JWT payload ein: ["THREEDQUERY","AUTH"]
- Die 3-D-Abfrage wird bearbeitet. Diese authentifiziert den Kunden über 3-D Secure.
- Anschließend wird die Seite Autorisierung bearbeitet. Damit wird eine Zahlung über die Karte des Kunden abgewickelt.
Payload Beispiel:
{
"payload": {
"accounttypedescription": "ECOM",
"baseamount": "1050",
"currencyiso3a": "GBP",
"sitereference": "test_site12345",
"parenttransactionreference": "1-2-345",
"credentialsonfile": "2",
"requesttypedescriptions": [
"THREEDQUERY",
"AUTH"
]
},
"iat": 1559033849,
"iss": "jwt.user"
}
Keine Zahlung - Tokenisierte (gespeicherte) Kartendaten - Vom Karteninhaber initiierte Transaktion
Fügen Sie die folgenden requesttypedescriptions in den JWT payload ein: ["THREEDQUERY","ACCOUNTCHECK"]
- Die 3-D-Abfrage wird bearbeitet. Diese authentifiziert den Kunden über 3-D Secure.
- Anschließend wird eine Account Check mit der Karte des Kunden verknüpft. Damit wird überprüft, ob die eingereichte Karte gültig ist.
Payload Beispiel:
{
"payload": {
"accounttypedescription": "ECOM",
"baseamount": "1050",
"currencyiso3a": "GBP",
"sitereference": "test_site12345",
"parenttransactionreference": "1-2-345",
"credentialsonfile": "2",
"requesttypedescriptions": [
"THREEDQUERY",
"ACCOUNTCHECK"
]
},
"iat": 1559033849,
"iss": "jwt.user"
}