Verarbeitung von Verifizierungen mit Token
Connect-Plattformen können Stripe.js, die API oder mobile Client-Bibliotheken verwenden, um die Kontodaten ihrer Nutzer/innen sicher zu erfassen.
Bevor wir Gebühren und Auszahlungen für verbundene Konten aktivieren können, müssen Sie die Anforderungen von Know Your Customer (KYC) erfüllen. Dazu müssen Sie Stripe Identitätsnachweise für Ihre Konten vorlegen, die wir anschließend überprüfen. Sie können diese Aufgabe mit Konto-Tokens und Personen-Token durchführen. Tokens stellen sicher, dass personenbezogene Daten (PII) nicht auf Ihre Server gelangen, sodass Ihre Integration sicher funktionieren kann. Diese Token ermöglichen es Stripe außerdem, potenzielle Betrugsfälle gezielter zu erkennen.
Sie können Token nur für Folgendes verwenden:
- Angaben zur juristischen Person (Informationen über das Unternehmen oder die Einzelperson)
- Angaben zur Person
- Zustimmung zur Vereinbarung für verbundene Konten von Stripe angeben
Es ist nicht möglich, Token für andere Kontoinformationen zu verwenden, einschließlich:
- Konfigurationseinstellungen für das Konto (zum Beispiel Auszahlungspläne)
- Nicht vertrauliche Konto-Informationen (z. B. Support-URL, Support-Telefonnummer)
- Das Land des verbundenen Kontos
Sie erstellen Token mit Stripe.js, der API oder einer der mobilen Client-Bibliotheken. Der Vorgang ähnelt dem Tokenisieren von Zahlungsdetails oder externen Konten. Die Informationen Ihres verbundenen Kontos werden direkt an Stripe gesendet und gegen ein Token ausgetauscht, das Sie in create
- und update
-API-Aufrufen verwenden können.
Regionale AspekteFrankreich
Französische Plattformen müssen Konto-Token verwenden, die eine Alternative zum Agentenmodell für die Konformität der Plattform mit PSD2 darstellen. Der Hauptvorteil von Token für französische Plattformen besteht darin, dass die Informationen von Nutzer/innen direkt an Stripe übertragen werden. Dass keine personenbezogenen Daten gespeichert werden müssen, ist zwar ein Vorteil, aber keine Voraussetzung. Für Plattformen in anderen Ländern sind Konto-Token optional, werden aber empfohlen.
Erstellen und Verwenden von Token
Token benötigen sowohl clientseitigen als auch serverseitigen Code:
- Erstellen Sie das HTML-Formular, das die Eingabe der Nutzer/innen aufnimmt.
- Fügen Sie JavaScript hinzu, das die Formulardaten an Stripe sendet, im Gegenzug ein Token enthält und dieses Token an Ihren Server sendet.
- Verwenden Sie das Token in einem serverseitigen Stripe-API-Aufruf.
Das folgende Beispiel zeigt, wie Konto-Token und Personen-Token verwendet werden. Beide Typen sind erforderlich, wenn Angaben zu juristischen und natürlichen Personen für Unternehmen bereitgestellt werden. Wenn Sie nur Einzelpersonen onboarden, benötigen Sie keine Personen-Token. Erstellen Sie stattdessen Konto-Token und übergeben Sie den individual-Hash im Account
-Objekt, um die erforderlichen Informationen bereitzustellen.
Erstellen eines HTML-Formulars
Im ersten Schritt wird ein HTML-Formular erstellt, das die erforderlichen Informationen für das Konto und die Person erfasst. Dies beinhaltet auch die Zustimmung zur Stripe-Vereinbarung für verbundene Konten.
Erfassung von Konto- und Personendaten
Erstellen Sie Formularelemente, um die erforderlichen Informationen zu erfassen, wie beispielsweise Name, Adresse und alle weiteren Angaben, die im Land der Nutzerin/des Nutzers erforderlich sind.
<form class="my-form" action="/create-person" method="post"> <input type="hidden" name="token-account" id="token-account"> <input type="hidden" name="token-person" id="token-person"> <label> <span>Business Name</span> <input class="inp-company-name"> </label> <fieldset> <legend>Business Address</legend> <label> <span>Street Address Line 1</span>
Vorlegen der Stripe-Vereinbarung für verbundene Konten
Als Plattformbetreiber müssen Sie Ihren Nutzerinnen und Nutzern klar mitteilen, dass die Abwicklung von Zahlungen gemäß der Stripe-Vereinbarung für verbundene Konten erfolgt. Die Zustimmung zur Stripe-Vereinbarung für verbundene Konten ist Voraussetzung für die Verwendung eines Konto-Tokens zur Erstellung eines neuen verbundenen Kontos.
Notiz
Nur Plattformen, die den Rahmenvertrag über die API akzeptieren können, können Konto-Token erstellen, die tos_shown_and_accepted angeben.
Wir empfehlen Ihnen, Sprachen wie die folgenden aufzunehmen, einschließlich Links zu unserer Vereinbarung und zu Ihren allgemeinen Geschäftsbedingungen.
Hinzufügen von JavaScript
Als Nächstes benötigt die Seite JavaScript, das Folgendes ausführt:
- Die Formularübermittlung wird unterbrochen.
- Ruft die Methode
stripe.
auf, um Konto- und Personen-Token anzufordern.createToken() - Sendet die IDs der erhaltenen Token an Ihren Server.
Der Einfachheit halber werden Datenvalidierung und Fehlerbehandlung im folgenden Code weggelassen. Bitte beachten Sie jedoch, dass Sie beides in Ihrer tatsächlichen Integration hinzufügen müssen.
Geben Sie zwei Argumente für die Methode stripe.
an:
- Den Wert für
account
oderperson
, um die Art des zu erstellenden Tokens anzugeben - Ein generisches Objekt mit Informationen
Das als zweites Argument angegebene JavaScript
-Objekt muss der Struktur des Konto
- oder Person
-Objekts entsprechen, das Sie tokenisieren. Konto-Token erfordern entweder eine Top-Level-Eigenschaft company oder individual und Person-Token erfordern eine Top-Level-Eigenschaft person. Bitte folgen Sie der Struktur des Objekts durch alle erforderlichen Attribute. Beispielsweise wird line1
innerhalb von address
im folgenden Codeblock als person.address.line1 angegeben.
Um die Zustimmung der Nutzer/innen zur Stripe-Vereinbarung für verbundene Konten darzustellen, geben Sie die Top-Level-Eigenschaft tos_
mit dem Wert true
an (hierfür werden nur Konto-Token verwendet).
Sie müssen weiterhin Token mithilfe von serverseitigem Code verwenden (um eine Person zu erstellen oder zu aktualisieren). Sie können die Token-ID so an Ihren Server senden, wie es für Ihre Anwendung sinnvoll ist (zum Beispiel über eine XHR-Anfrage). Zur Vereinfachung wird in diesem Codebeispiel die Token-ID in einer verborgenen Formulareingabe gespeichert und das Formular anschließend abgesendet.
// Assumes you've already included Stripe.js! const stripe = Stripe(
); const myForm = document.querySelector('.my-form'); myForm.addEventListener('submit', handleForm); async function handleForm(event) { event.preventDefault(); const accountResult = await stripe.createToken('account', { business_type: 'company', company: { name: document.querySelector('.inp-company-name').value, address: { line1: document.querySelector('.inp-company-street-address1').value, city: document.querySelector('.inp-company-city').value, state: document.querySelector('.inp-company-state').value, postal_code: document.querySelector('.inp-company-zip').value, }, }, tos_shown_and_accepted: true, }); const personResult = await stripe.createToken('person', { person: { first_name: document.querySelector('.inp-person-first-name').value, last_name: document.querySelector('.inp-person-last-name').value, address: { line1: document.querySelector('.inp-person-street-address1').value, city: document.querySelector('.inp-person-city').value, state: document.querySelector('.inp-person-state').value, postal_code: document.querySelector('.inp-person-zip').value, }, }, }); if (accountResult.token && personResult.token) { document.querySelector('#token-account').value = accountResult.token.id; document.querySelector('#token-person').value = personResult.token.id; myForm.submit(); } }'pk_test_TYooMQauvdEDq54NiTphI7jx'
Nach erfolgreichem Erhalt der Token von Stripe speichert JavaScript die Token-IDs in einer verborgenen Formulareingabe und sendet das Formular dann (an Ihren Server). Bei den letzten Schritten verwendet Ihr serverseitiger Code die Token, um ein Konto und eine Person zu erstellen.
Konto erstellen
Verwenden Sie die Konto-Token-ID, um das Konto zu erstellen. Das Land und der Unternehmenstyp werden außerhalb des Tokens angegeben.
Wenn Sie beim Erstellen eines Konto-Tokens tos_
auf „true“ setzen, werden die Attribute date
, ip
und user_
des Attributs tos_acceptance des Account
-Objekts mit Daten gefüllt. Wenn Sie ein Konto erstellen, ohne ein Konto-Token zu verwenden, müssen Sie Werte für diese Objekte bereitstellen.
Notieren Sie unbedingt die zurückgegebene Konto-ID, damit Sie diese zum Erstellen von Personen
-Objekten für das Konto verwenden können.
Eine Person erstellen
Erstellen Sie eine Person, indem Sie die ID des Tokens für die Person als Wert für den Parameter person_
angeben (Sie benötigen außerdem die Konto-ID der Person, für die das Konto bestimmt ist). Sie können den Hash requirements für das Objekt Account
verwenden, um zu bestimmen, welche Informationen von welchen Personen erfasst werden müssen.
Erstellen von Konto-Token mit den mobilen SDKs
Sie können auch einen Konto-Token über unsere Android- oder iOS-SDKs erstellen (mobil unterstützt nur Konto-Token). Dies reicht aus, um ein Einzelkonto zu erstellen. Für ein Unternehmenskonto müssen Sie jedoch Stripe.js verwenden, um den erforderlichen Personen-Token zu erstellen.
Datei-Upload bearbeiten
Wenn ein verbundenes Konto Stripe Stripe einen Scan eines Ausweisdokuments, zum Beispiel eines Reisepasses, zur Verfügung stellen muss, können Sie ein Konto-Token verwenden. Das JavaScript ist jedoch komplizierter, da die Datei als Teil einer XHR-Anfrage an Stripe gesendet werden muss. Bei diesem Ablauf führt JavaScript Folgendes durch:
- Die Formularübermittlung wird unterbrochen.
- Wenn eine Datei hochgeladen wurde, sendet es diese an Stripe und erhält im Gegenzug einen Datei-Token.
- Die Datei-Token-ID dem generischen Objekt für die Token-Anforderung des Kontos hinzugefügt.
- Die Methode
stripe.
wird aufgerufen, um ein Token anzufordern.createToken() - Die ID des ausgegebenen Konto-Tokens wird zur Verwendung an Ihren Server gesendet.
Fügen Sie zunächst ein Dateielement zum Formular hinzu. Die hochgeladene Datei muss ein Farbbild sein (kleiner als 8.000 Pixel x 8.000 Pixel) im JPG-, PNG- oder PDF-Format und darf nicht größer als 10 MB sein.
<input type="file" id="id-file" name="id-file" accept=".jpeg,.jpg,.png">
Als Nächstes senden Sie in Ihrem JavaScript, das die Übermittlung des Formulars abwickelt, die hochgeladene Datei an Stripe. Dies muss vor der Erstellung des Konto-Tokens geschehen.
const data = new FormData(); data.append('file', document.querySelector('#id-file').files[0]); data.append('purpose', 'identity_document'); const fileResult = await fetch('https://uploads.stripe.com/v1/files', { method: 'POST', headers: {'Authorization': 'Bearer
'}, body: data, }); const fileData = await fileResult.json();pk_test_TYooMQauvdEDq54NiTphI7jx
Schließlich fügen Sie die zurückgegebene Datei-ID als Wert verification.
in das generische Objekt ein, das an den Aufruf createToken()
übergeben wird:
const result = await stripe.createToken('account', { person: { first_name: document.querySelector('.inp-first-name').value, last_name: document.querySelector('.inp-last-name').value, address: { line1: document.querySelector('.inp-street-address1').value, city: document.querySelector('.inp-city').value, state: document.querySelector('.inp-state').value, postal_code: document.querySelector('.inp-zip').value, }, verification: { document: { front: fileData.id, }, }, }, tos_shown_and_accepted: true, });
Aktualisieren der Angaben zu juristischen und natürlichen Personen
Sie können Token verwenden, um die Angaben zu juristischen und natürlichen Personen eines bestehenden Kontos zu aktualisieren. Erstellen Sie die erforderlichen Token mit derselben Kombination aus HTML und JavaScript wie oben und führen Sie anschließend einen update account- oder update person-Aufruf durch, wobei Sie die neue Token-ID übergeben.
Sie müssen einen neuen Token erstellen und bereitstellen, wenn Sie Angaben zur juristischen Person aktualisieren, die zuvor mit einem Konto-Token festgelegt wurden.
Bei Verwendung von Token für Aktualisierungen:
- Ein vorhandener Wert wird durch einen neuen Wert ersetzt.
- Wird kein neuer Wert angegeben, bleibt der bestehende Wert erhalten.
- Sie können einen vorhandenen Wert nicht deaktivieren.
- Der Parameter
tos_
wird ignoriert und kann weggelassen werden.shown_ and_ accepted - Sie können ein Konto- oder Personen-Token für eine Aktualisierung verwenden, unabhängig davon, ob bei der Erstellung des Kontos oder der Person ursprünglich ein Token verwendet wurde oder nicht.
- Wenn das Konto oder die Person ursprünglich mit einem Konto-Token erstellt wurde, können Sie die Werte nur mit einem anderen Token aktualisieren.
Wenn beispielsweise ein Konto mit einem Token erstellt wird, das nur den Namen und das Geburtsdatum enthält, erstellen Sie einen weiteren Token, der nur die Adressinformationen enthält und führen dann einen Aufruf zur Aktualisierung des Kontos durch, um die Adressdaten zum Konto hinzuzufügen.
Entfernen von Angaben zu juristischen und natürlichen Personen
Um Angaben zu juristischen Personen oder Personen zu löschen oder einen Wert explizit als Null festzulegen, übergeben Sie eine leere Zeichenfolge in einem Aufruf zur Aktualisierung eines Kontos oder Aktualisierung einer Person. Verwenden Sie einen Aktualisierungsaufruf und kein Token, auch wenn Sie ursprünglich ein Token verwendet haben. Sie können leere Zeichenfolgen nur optionalen Attributen zuweisen (zum Beispiel der zweiten Zeile einer Adresse). Sie können sie keinen erforderlichen Attributen zuweisen.