Identitätsnachweise Ihrer Nutzer/innen verifizieren
Erstellen Sie Sitzungen und erfassen Sie Identitätsnachweise.
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.
Notiz
Um Zugriff auf das Identity Android SDK zu erhalten, gehen Sie zu den Identitätseinstellungen und klicken auf Aktivieren.
Um die Identität Ihrer Android-Nutzer/innen zu verifizieren. zeigen Sie in Ihrer Anwendung ein Verifizierungsformular an. In diesem Leitfaden erfahren Sie, wie Sie:
- Stripe einrichten.
- Einen Server-Endpoint hinzufügen.
- Das Verifizierungsformular anzeigen.
- Verifizierungsereignisse verarbeiten.
Die Schritte in dieser Anleitung sind vollständig in der Beispiel-App und dem Beispiel-Backend-Server implementiert.
EinrichtenServerseitigClientseitig
Notiz
Wenn Sie beabsichtigen, dieses SDK mit dem Identitätsdienst von Stripe zu verwenden, dürfen Sie dieses SDK nicht ändern. Die Verwendung einer modifizierten Version dieses SDK mit dem Identitätsdienst von Stripe ohne die schriftliche Genehmigung von Stripe stellt einen Verstoß gegen Ihren Vertrag mit Stripe dar und kann zur Schließung Ihres Stripe-Kontos führen.
SDK installieren Client-side
Das Stripe Android SDK ist Open Source und vollständig dokumentiert.
Um das SDK zu installieren, fügen Sie identity
in den Block dependencies
Ihrer app/build.gradle-Datei ein:
Notiz
Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung eines neuen Release eine Benachrichtigung zu erhalten, beobachten Sie Veröffentlichungen für das jeweilige Repository.
TFLite in Google Play verwenden, um die Größe der Binärdatei zu reduzieren Client-side
Identity Android SDK verwendet eine portable TFLite-Laufzeit, um KI-Modelle auszuführen. Wenn Ihre Anwendung über Google Play veröffentlicht wird, können Sie die Google Play-Laufzeitumgebung verwenden, um die SDK-Größe um etwa 1,2 MB zu reduzieren.
Material Theme einrichten Client-side
Das Stripe Identity Android SDK erfordert, dass die Hosting-Aktivität das Material Theme verwendet. So aktivieren Sie das Material Theme:
- Öffnen Sie die Datei
app/src/main/AndroidManifest.
Ihres Projekts.xml - Stellen Sie sicher, dass das auf die
application
angewendeteandroid:theme
ein untergeordnetes Element eines der Material Themes ist (zum BeispielTheme.
).MaterialComponents. DayNight
Weitere Details zum Material Theme finden Sie hier.
Stripe auf dem Server installieren Server-side
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:
Server-Endpoint hinzufügenServerseitig
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.
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.
Erstellen Sie aus Sicherheitsgründen kein VerificationSession
-Objekt, das direkt über den mobilen Client zugänglich ist. Stattdessen stellt Ihr Server dem SDK einen temporären Schlüssel zur Verfügung – einen kurzlebigen API-Schlüssel mit eingeschränktem Zugriff auf die VerificationSession. Einen temporären Schlüssel können Sie sich als Sitzung vorstellen, die das SDK autorisiert, ein bestimmtes VerificationSession
-Objekt für die Dauer der Sitzung abzurufen und zu aktualisieren.
Nach der erfolgreichen Erstellung einer VerificationSession
und eines temporären Schlüssels senden Sie die VerificationSession
-ID und den temporären Geheimschlüssel an den Client, um das Formular zum Hochladen von Dokumenten anzuzeigen.
Notiz
Eine laufende Implementierung dieses Endpoints finden Sie hier zum schnellen Testen.
Vorsicht
Der temporäre Geheimschlüssel ist an die VerificationSession
gebunden und ermöglicht es Ihrer App, sensible Verifizierungsinformationen wie Dokumente und Selfie-Bilddateien zu erfassen. Es ist einmalig verwendbar und läuft nach 1 Stunde ab. Speichern Sie ihn nicht, protokollieren Sie ihn nicht und betten Sie ihn nicht in eine URL ein und machen Sie ihn nicht für andere Personen als den/die Nutzer/in zugänglich. Stellen Sie sicher, dass Sie TLS für alle Endpoints aktiviert haben, die den geheimen temporären Schlüssel zurückgeben. Senden Sie nur den temporäre Geheimschlüssel an Ihre App, um zu vermeiden, dass die Verifizierungskonfiguration oder -ergebnisse preisgegeben 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 { id: "vs_QdfQQ6xfGNJR7ogV6", ephemeral_key_secret: "ek_YWNjdF8xRm..." }
Das Verifizierungsformular anzeigenClientseitig
Richten Sie eine Schaltfläche zum Anzeigen eines Verifizierungsformulars ein. Nachdem sie auf die Schaltfläche geklickt haben, können Ihre Nutzer/innen ein Bild ihres Reisepasses, Führerscheins oder Personalausweises erfassen und hochladen.
Bevor Sie loslegen, sollte Ihre Verifizierungsseite Folgendes enthalten:
- Erläuterungen für die Nutzer/innen zur Notwendigkeit der Identitätsprüfung.
- Eine Schaltfläche zum Verifizieren der Identität über die Nutzeroberfläche von Stripe.
Schaltfläche hinzufügen
Erstellen Sie zunächst eine Activity
mit einer Schaltfläche, die auswählbar ist und über eine Ladeanzeige verfügt. Stellen Sie sicher, dass MyHostingActivity
AppCompatActivity
übernimmt und ein Design verwendet, wobei Theme.
übernommen wird.
Stripe Identity SDK importieren
Importieren Sie das Identity SDK in Ihre Aktivität, initialisieren Sie es in der onCreate
-Methode. (Dadurch wird ein ActivityResultLauncher für diese AppCompatActivity
oder dieses Fragment
registriert).
Eine Aktion zur Schaltfläche „Verifizieren“ hinzufügen
Da Sie nun über eine Schaltfläche und einen Endpoint zum Erstellen einer VerificationSession
verfügen, können Sie die Schaltfläche so anpassen, dass das Formular zum Hochladen von Dokumenten nach dem Antippen angezeigt wird.
Fügen Sie einen Aufruf hinzu, um folgende Schritte auszuführen:
- Die
VerificationSession
-ID und den temporären Geheimschlüssel von Ihrem Endpoint abrufen. - Ein
IdentityVerificationSheet
mit Ihrem Marken-Logo instanziieren und dem/der Nutzer/in anzeigen. - Das
VerificationFlowResult
verarbeiten, um zu ermitteln, ob der/die Nutzer/in den Verifizierungsablauf abgeschlossen hat.
Verifizierungsformular testen
Testen Sie, ob die Schaltfläche „Verifizieren“ ein Formular zum Hochladen von Dokumenten anzeigt:
- Klicken Sie auf die Schaltfläche Identität verifizieren.
- Stellen Sie sicher, dass keine Fehlermeldungen angezeigt werden.
Wenn Ihre Integration nicht funktioniert:
- Legen Sie einen Haltepunkt an der Stelle fest, an der Sie die
VerificationSession
-ID und den temporären Geheimschlüssel abrufen. - Stellen Sie sicher, dass keine Netzwerkfehler vorhanden sind und dass der Endpoint eine
VerificationSession
-ID und einen temporären Geheimschlüssel zurückgibt.
Verifizierungsereignisse verarbeiten
Dokumentprüfungen werden in der Regel abgeschlossen, wenn Nutzer/innen zu Ihrer Website zurückgeleitet werden, und Sie können das Ergebnis sofort über die API abrufen. Manchmal steht die Dokumentenprüfung noch nicht bereit und muss asynchron fortgesetzt werden. In diesem Fall werden Sie über Webhooks benachrichtigt, wenn das Verifizierungsergebnis bereitsteht. Nachdem die Verarbeitung abgeschlossen ist, wechselt der Status der VerificationSession von processing
zu 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 waren erfolgreich. | 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.