
Teilen Sie:
Lorna ist eine Software-Ingenieurin mit einer unheilbaren Blogging-Sucht. Sie versucht, Worte und Code gleichermaßen zu bändigen.
Fügen Sie Ihrer Anwendung eine starke PSD2-Authentifizierung hinzu
Lesedauer: 3 Minuten
Da immer mehr Einkäufe online getätigt werden, steigt die Gefahr von Betrug und nicht autorisierten Zahlungen.
Als Reaktion auf diese Situation wurde in Europa ein neuer Standard für die Authentifizierung von Online-Zahlungen eingeführt, die "Secure Customer Authentication", auch bekannt als PSD2 (Payment Services Directive Version 2).
PSD2 führt ein zusätzliches Sicherheitselement für Online-Zahlungen ein. Wenn Sie Transaktionen in Euro durchführen, können Sie unsere Verify API verwenden, um dieses zusätzliche Element in Ihren Anwendungen zu implementieren.
Über sichere Kundenauthentifizierung
Sichere Kundenauthentifizierung bedeutet, dass bei größeren Transaktionsbeträgen mehr als eine Authentifizierungsart verwendet wird (die technischen Details und das Kleingedruckte sind ebenfalls verfügbar). Kurz gesagt, sollten Transaktionen Folgendes beinhalten zwei aus dieser Liste von drei Elemente enthalten:
Ein Passwort oder eine PIN (etwas, das der Benutzer kennt)
Ein Fingerabdruck oder Gesichts-/Augenscan (etwas, das der Benutzer ist)
Informationen von einem Telefon oder einem Hardware-Token (etwas, das der Kunde hat)
Die Nutzung der PSD2-Funktion in Verify API ist eine einfache Möglichkeit, die dritte Option aus der obigen Liste zu implementieren.
So funktioniert Verify API PSD2
Um eine Zahlung zu autorisieren, sendet die API einen Code an die im Account des Nutzers gespeicherte Telefonnummer.
Die Autorisierung kann per Textnachricht, Telefonanruf oder in der Regel durch eine Kombination aus beidem erfolgen, um eine möglichst große Zahl von Nutzern zu erreichen. Der Nutzer erhält die PIN zusammen mit Informationen über die Transaktion: wen er bezahlt und den Betrag der Zahlung.

Der Nutzer gibt dann die erhaltene PIN ein, die an die Verify API zurückgeschickt wird, um zu prüfen, ob der PIN-Code korrekt ist. Ist dies der Fall, wird die Anfrage bestätigt, und Sie können mit der Zahlung fortfahren.
Verify API PSD2 implementieren
Wir haben Beispiele in einigen verschiedenen Tech Stacks aber um die Dinge sehr umfassend zu halten, verwenden diese Beispiele cURL.
Vonage API-Konto
Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.
Senden eines PIN-Codes zum Bestätigen einer Zahlung
Der erste Schritt besteht darin, einen Code an das Telefon des Kunden zu senden, um den Zahlungsbetrag und den Empfänger der Zahlung zu bestätigen. Um sicherzustellen, dass die Nachricht den Kunden erreicht hat, enthält die Nachricht einen PIN-Code.
Die API-Referenz für das Senden eines PSD2-Codes finden Sie hier für eine vollständige Liste der Details und aller verfügbaren Parameter. Im einfachsten Fall sieht die cURL-Anfrage wie folgt aus:
curl -X POST "https://api.nexmo.com/verify/psd2/json" \
-d api_key=API_KEY -d api_secret=API_SECRET \
-d number=447700777000 -d payee="Acme, Inc" \
-d amount=12.34Ersetzen Sie API_KEY und API_SECRET im obigen Beispiel durch Ihre Anmeldedaten und geben Sie außerdem die Telefonnummer ein, an die die PIN gesendet werden soll; dies sollte wahrscheinlich Ihre Telefonnummer sein, während Sie testen, und sie sollte im internationalen Format ohne führendes + Symbol.
In diesem Zusammenhang wird die PIN zunächst per SMS verschickt. Wenn der Nutzer nicht innerhalb weniger Minuten die korrekte PIN angibt, wird ein automatischer Anruf folgen, um die Informationen zu erfragen.
Mit beiden Ansätzen können Sie mehr Nutzer erfolgreich erreichen, aber Sie können auch den Arbeitsablauf wählen der Ihrem Anwendungsfall am besten entspricht.
Die Anfrage gibt ein request_id. Speichern Sie dies, da Sie es im nächsten Schritt benötigen!
Prüfen Sie den PIN-Code
Wenn der Benutzer den erhaltenen PIN-Code eingibt, können Sie bestätigen, dass er korrekt ist, indem Sie den /check Endpunkt in der Vonage Verify API aufrufen.
Sehen Sie sich die API-Referenzdokumentation für den Check-Endpunkt für die genauen Details. Auch hier sind Codebeispiele verfügbarund die cURL-Anfrage sieht wie folgt aus:
curl -X POST "https://api.nexmo.com/verify/check/json" \
-d api_key=API_KEY -d api_secret=API_SECRET \
-d request_id=abcdef0123456789abcdef0123456789 -d code=1234Ersetzen Sie wiederum API_KEY und API_SECRET durch Ihre Anmeldedaten und verwenden Sie die request_id aus dem vorherigen Schritt. Der code Parameter sollte der Pin-Code sein, der dem Benutzer gesendet wurde.
Bei Erfolg zeigt die Antwort eine status von Null, und Sie können sicher sein, dass der Benutzer die Zahlung autorisiert hat.
Nächste Schritte
In diesem Beitrag haben wir uns mit der sicheren Kundenauthentifizierung befasst und ein Beispiel für die Implementierung in Ihren Applications vorgestellt. Hier finden Sie einige Ressourcen, die Sie für Ihren nächsten Schritt nützlich finden könnten:
Die Verify API Abschnitt unseres Entwicklerportals
API-Dokumentation für Verify API
Unsere Sammlung von Blogbeiträgen für Verify API enthält vielleicht etwas, das Ihr nächstes Projekt inspiriert
Erreichen Sie uns auf Twitter oder unserem Gemeinschaft Slack mit Ihren Gedanken, Vorschlägen oder Fragen.
