Identitätsnachweise Ihrer Nutzer/innen verifizieren
In diesem Leitfaden wird erläutert, wie Sie mit Stripe Identity Identitätsnachweise sicher erfassen und verifizieren können.
Bevor Sie loslegen
- Aktivieren Sie Ihr Konto.
- Füllen Sie Ihren Antrag für Stripe Identity aus.
- (Optional) Passen Sie Ihre Markeneinstellungen auf der Seite Branding-Einstellungen an.
Senden Sie Ihre Nutzer/innen an Stripe, um ihre Ausweisdokumente hochzuladen. Sie gehen wie folgt vor:
- Fügen Sie Ihrer Webseite eine Schaltfläche zur Verifizierung hinzu, die zu Stripe Identity weiterleitet.
- Zeigen Sie eine Bestätigungsseite für die Übermittlung von Identitätsnachweisen an.
- Umgang mit den Verifizierungsergebnissen.
Stripe einrichtenServerseitig
Registrieren Sie sich zunächst für ein Stripe-Konto.
Installieren Sie dann die Bibliotheken für den Zugriff auf die Stripe-API über Ihre Anwendung:
Schaltfläche auf Ihrer Website hinzufügenClientseitig
Erstellen Sie auf Ihrer Website eine Schaltfläche, um die Verifizierung zu starten.
Schaltfläche hinzufügen
Fügen Sie Ihrer Seite zunächst eine Schaltfläche zur Verifizierung hinzu:
<html> <head> <title>Verify your identity</title> </head> <body> <button id="verify-button">Verify</button> </body> </html>
Weiterleitung zu Stripe IdentityClientseitigServerseitig
Richten Sie die Schaltfläche für die Weiterleitung zu Stripe Identity ein. Nach dem Anklicken der Schaltfläche wird Ihr Frontend zu einer von Stripe gehosteten Seite weitergeleitet. Dort können sie ein Bild ihres Reisepasses, Führerscheins oder Personalausweises erfassen und hochladen.
Die Weiterleitung zu Stripe Checkout reduziert die Entwicklungszeit und den Wartungsaufwand und bietet Ihnen zusätzliche Sicherheit. So wird auch die Menge der auf Ihrer Website verarbeiteten privaten Informationen reduziert. Außerdem können Sie Nutzer/innen auf verschiedenen Plattformen und in verschiedenen Sprachen unterstützen und das Design individuell an Ihr Branding anpassen.
VerificationSession erstellen
Eine VerificationSession ist die programmgesteuerte Darstellung der Verifizierung. Sie enthält Details zur Art der Verifizierung (z. B. welche Prüfung durchgeführt werden soll). Sie können das Feld verifizierte Ergebnisse erweitern, um Details zu den verifizierten Daten anzuzeigen.
Nach der erfolgreichen Erstellung einer VerificationSession
senden Sie die Sitzungs-URL zur Weiterleitung an Stripe Identity an das Frontend.
Sie benötigen einen serverseitigen Endpoint zum Erstellen der VerificationSession. Die serverseitige Erstellung der VerificationSession
verhindert, dass böswillige Nutzer/innen die Verifizierungsoptionen außer Kraft setzen und Abwicklungskosten für Ihr Konto verursachen. Fügen Sie dem Endpoint eine Authentifizierung hinzu, indem Sie einen Verweis auf die Nutzer/innen in die Metadaten der Sitzung einschließen oder die Sitzungs-ID in Ihrer Datenbank speichern.
// Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')(
); // In the route handler for /create-verification-session: // Authenticate your user. // Create the session. const verificationSession = await stripe.identity.verificationSessions.create({ type: 'document', metadata: { user_id: '{{USER_ID}}', }, }); // Return only the session URL to the frontend. const url = verificationSession.url;'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
Vorsicht
Die Sitzungs-URL ist einmalig verwendbar und läuft nach 24 Stunden ab. Sie darf nicht gespeichert, protokolliert, in URLs eingebettet oder Personen außer der Kundin/dem Kunden selbst zugänglich gemacht werden. Senden Sie nur die Sitzungs-URL an Ihr Frontend, damit die Konfiguration oder die Ergebnisse der Verifizierung nicht weitergegeben werden.
Testen Sie Ihren Endpoint, indem Sie Ihren Webserver starten (z. B. localhost:4242
) und mit curl eine POST-Anfrage zur Erstellung einer VerificationSession senden:
curl -X POST -is "http://localhost:4242/create-verification-session" -d ""
Die Antwort in Ihrem Terminal sieht folgendermaßen aus:
HTTP/1.1 200 OK Content-Type: application/json { url: "https://verify.stripe.com/start/QdfQQ6xfxNJR7ogV6Z6Wp..." }
Ereignis-Handler zur Schaltfläche „Verifizieren“ hinzufügen
Nachdem Sie jetzt eine Schaltfläche und einen Endpoint zum Erstellen einer VerificationSession haben, können Sie die Schaltfläche so anpassen, dass sie nach dem Anklicken an die Sitzungs-URL weiterleitet:
<html> <head> <title>Verify your identity</title> <script src="https://js.stripe.com/v3/"></script> </head> <body> <button id="verify-button">Verify</button> <script type="text/javascript"> var verifyButton = document.getElementById('verify-button'); verifyButton.addEventListener('click', function() { // Get the VerificationSession client secret using the server-side // endpoint you created in step 3. fetch('/create-verification-session', { method: 'POST', }) .then(function(response) { return response.json(); }) .then(function(session) { // When the user clicks on the button, redirect to the session URL. window.location.href = session.url; }) .catch(function(error) { console.error('Error:', error); }); }); </script> </body> </html>
Weiterleitung testen
Testen Sie, ob die Schaltfläche zur Verifizierung zu Stripe Identity weiterleitet:
- Klicken Sie auf die Schaltfläche zur Verifizierung.
- Stellen Sie sicher, dass Ihr Browser zu Stripe Identity weiterleitet.
Wenn Ihre Integration nicht funktioniert:
- Öffnen Sie in den Entwickler-Tools Ihres Browsers die Registerkarte „Netzwerk“.
- Klicken Sie auf die Schaltfläche zur Verifizierung und prüfen Sie, ob eine XHR-Anfrage an Ihren serverseitigen Endpoint erfolgt (
POST /create-checkout-session
). - Prüfen Sie, ob die Anfrage den Status 200 zurückgibt.
- Verwenden Sie in Ihrem Button-Click-Listener
console.log(session)
, um zu prüfen, ob die richtigen Daten zurückgegeben werden.
Verifizierungsereignisse verarbeiten
Dokumentprüfungen erfolgen asynchron, d. h., die Ergebnisse der Prüfung sind nicht sofort verfügbar. Die Prüfung eines Identitätsnachweises dauert in der Regel 1 bis 3 Minuten. Sobald die Verarbeitung abgeschlossen ist, ändert sich der Status der VerificationSession von processing
in verified
.
Stripe übermittelt die folgenden Ereignisse, wenn sich der Status einer Sitzung ändert:
Ereignisname | Beschreibung | Nächste Schritte |
---|---|---|
identity.verification_session.verified | Die Verarbeitung aller Verifizierungsprüfungen ist abgeschlossen und alle wurden erfolgreich verifiziert. | Lösen Sie relevante Aktionen in Ihrer Anwendung aus. |
identity.verification_session.requires_input | Die Verarbeitung aller Verifizierungsprüfungen ist abgeschlossen und mindestens eine dieser Prüfungen ist fehlgeschlagen. | Lösen Sie relevante Aktionen in Ihrer Anwendung aus und ermöglichen Sie Ihren Nutzer/innen, die Verifizierung zu wiederholen. |
Verwenden Sie einen Webhook-Handler, um diese Ereignisse zu empfangen und Aktionen wie das Senden einer E-Mail zur Bestätigung, das Aktualisieren der Verifizierungsergebnisse in Ihrer Datenbank oder das Abschließen eines Onboarding-Schritts zu automatisieren. Sie können die Verifizierungsereignisse auch im Dashboard anzeigen.
Ereignisse empfangen und Geschäftsaktionen ausführen
Mit Code
Erstellen Sie einen Webhook-Handler, um Ereignisse zu überwachen und benutzerdefinierte asynchrone Verifizierungsabläufe zu erstellen. Mit der Stripe-CLI können Sie Ihre Webhook-Integration lokal testen und Fehler beheben.
Nutzerdefinierten Webhook erstellen
Ohne Code
Verwenden Sie das Dashboard, um alle Ihre Verifizierungen anzuzeigen, die erfassten Daten zu prüfen und fehlgeschlagene Verifizierungen nachvollziehen zu können.