https://d226lax1qjow5r.cloudfront.net/blog/blogposts/add-strong-psd2-authentication-to-your-application/Blog_Strong-Customer-Authentication_1200x600-2.png

Fügen Sie Ihrer Anwendung eine starke PSD2-Authentifizierung hinzu

Zuletzt aktualisiert am May 4, 2021

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.

Screenshot from phone with message: Your code 2393 is for payment to Acme Inc. in the amount of 12.34€. Valid for 5 minutes

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.34

Ersetzen 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=1234

Ersetzen 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:

Teilen Sie:

https://a.storyblok.com/f/270183/250x250/e3d3b71060/lornajane.png
Lorna MitchellVonage Ehemalige

Lorna ist eine Software-Ingenieurin mit einer unheilbaren Blogging-Sucht. Sie versucht, Worte und Code gleichermaßen zu bändigen.