Testen der Kontobestätigung beim API-Onboarding
Eine exemplarische Vorgehensweise zum Testen verschiedener Verifizierungsstatus für verbundene Konten beim API-Onboarding mit Ihrem Test-API-Schlüssel.
In diesem Dokument wird davon ausgegangen, dass Sie mit dem API-Onboarding vertraut sind und wissen, wie Sie Konten aktualisieren und die Identitätsprüfung durchführen.
Testen Sie Ihre Verifizierungsabläufe, damit sie die Änderungen am Kontostatus handhaben können (z. B. wenn Sie Zahlungen aktivieren oder deaktivieren). Kontostatus ändern sich in der Regel, nachdem die Anforderungen erfüllt sind oder wenn Verarbeitungs- oder Zeitschwellenwerte erreicht werden. In den nachfolgenden Abschnitten werden diese Änderungen beschrieben, und es wird erläutert, wie Sie Ihre Verifizierungsabläufe testen können.
Ursprüngliche Anforderungen testen
Erstellen Sie zunächst ein neues verbundenes Konto im Testmodus, fügen Sie ein Bankkonto hinzu und weisen Sie nach, dass der/die Kontoinhaber/in den Stripe-Rahmenvertrag akzeptiert hat. Stripe verlangt, dass das verbundene Konto den Rahmenvertrag von Stripe explizit akzeptiert, bevor Auszahlungen getätigt werden. In diesem Beispiel ist der business_
auf company
festgelegt, um ein komplexeres Szenario zu veranschaulichen. Das external_
nutzt ein mit Token versehenes Stripe-Testkonto als Erinnerung, um zu vermeiden, dass sensible Informationen in den API-Aufrufen offengelegt werden.
Notiz
Sie müssen einen Test-API-Schlüssel eines Stripe-Kontos, mit dem das Connect-Plattform-Onboarding begonnen hat. Der automatisch ausgefüllte Stripe-Test-API-Schlüssel führt dazu, dass diese Beispielanfragen fehlschlagen.
Sie können ein verbundenes Konto entweder mit den Controller-Eigenschaften oder durch Festlegen des Kontotyps erstellen. In beiden Fällen müssen Sie das Land festlegen und die Funktionen card_
und transfers
anfordern.
An dieser Stelle wird das Konto erstellt, Zahlungen und Auszahlungen sind jedoch weiterhin deaktiviert. Überprüfen Sie in der Antwort das Array requirements.
, um zu bestimmen, welche Informationen erfasst werden müssen:
{ "id":
, "object": "account", "requirements": { "currently_due": [ "business_profile.mcc", "business_profile.url", "company.address.city", "company.address.line1", "company.address.postal_code", "company.address.state", "company.name", "company.phone", "company.tax_id", "relationship.representative", "relationship.owner" ], ... }, ... }"{{CONNECTED_ACCOUNT_ID}}"
Verwenden Sie dann die in der Antwort zurückgegebene id
des externen Kontos, um das Konto mit den zusätzlichen erforderlichen Kontoangaben zu aktualisieren:
Nach erfolgreicher Aktualisierung der Unternehmensdetails zeigt die Überprüfung von requirements.
, dass die relationship
-Anforderungen weiterhin erforderlich sind:
{ "id":
, "object": "account", "requirements": { "currently_due": [ "relationship.representative", "relationship.owner", ], ... }, ... }"{{CONNECTED_ACCOUNT_ID}}"
Verwenden Sie die Persons API, um ein Profil für die Person zu erstellen, die die Beziehung zum Konto repräsentiert. In diesem Beispiel erstellen wir ein Profil für Jenny Rosen und kennzeichnen sie als representative
. In diesem Beispiel haben wir außerdem das optionale Attribut title
ausgefüllt.
Notiz
Bei Konten, deren business_type auf individual
festgelegt ist, geben Sie mindestens eine individual
-Eigenschaft an (zum Beispiel individual.
) und ein Person-Objekt wird automatisch erstellt. Wenn Sie dies nicht durchführen oder für Konten, deren business_
auf company
festgelegt ist, müssen Sie jede Person für das Konto erstellen.
Wenn Sie eine Person
erstellen, enthält die Antwort einen requirements
-Hash. Dieser führt die erforderlichen Verifizierungsinformationen für die jeweilige Person auf.
{ "id":
, "object": "account", "requirements": { "currently_due": [ "address.city", "address.line1", "address.postal_code", "address.state", "dob.day", "dob.month", "dob.year", "phone", "email", "relationship.executive", "ssn_last_4" ], ... }, ... }"{{CONNECTED_ACCOUNT_ID}}"
Nachdem Sie eine Person
für Ihr externes Konto erstellt haben, wird durch Überprüfen des Account
-Objekts festgestellt, dass die erforderlichen Verifizierungsinformationen für die neu erstellte Person
zur Liste requirements.
hinzugefügt wurden:
{ "id":
, "object": "account", "requirements": { "currently_due": [ "person.person_xxx.address.city", "person.person_xxx.address.line1", "person.person_xxx.address.postal_code", "person.person_xxx.address.state", "person.person_xxx.dob.day", "person.person_xxx.dob.month", "person.person_xxx.dob.year", "person.person_xxx.phone", "person.person_xxx.email", "person.person_xxx.relationship.executive", "person.person_xxx.ssn_last_4", "relationship.owner" ], ... }, ... }"{{CONNECTED_ACCOUNT_ID}}"
Verwenden Sie die API Aktualisieren einer Person, um die angeforderten Verifizierungsinformationen für Jenny Rosen bereitzustellen:
Indem Sie relationship[executive]=true
festlegen, versichern Sie gegenüber Stripe, dass es sich bei dem/der Vertreter/in um eine Person mit maßgeblicher Führungsrolle innerhalb der Organisation handelt. Unter für die USA erforderlichen Verifizierungsinformationen finden Sie weitere Informationen zu den Details zur Verifizierung von Unternehmensvertreter/innen für US-Unternehmen.
Nach der Angabe der Informationen zum representative
muss noch der owner
des Kontos ermittelt werden. In diesem Beispiel besitzt Kathleen Banks 80 % von The Best Cookie Co.
In unserem Beispiel besitzt Kathleen Banks weniger als 100 % von The Best Cookie Co. Sie haben keine weiteren Inhaber/innen festgelegt, um die Inhaberschaft auf 100 % zu vervollständigen. Stripe benötigt daher von Ihnen eine Bestätigung, dass Sie alle erforderlichen Inhaber/innen angegeben haben.
Die erfolgreiche Einrichtung Ihres verbundenen Kontos in dieser Phase bedeutet, dass:
- Sie haben alle erforderlichen Informationen ausgefüllt (
requirements.
).currently_ due=null - Zahlungen für das Konto (
charges_
) aktiviert werden.enabled=true - Sie einen
account.
Webhook von Stripe erhalten haben.updated
Testschwellen
Unabhängig davon, ob Sie Onboarding im Voraus oder inkrementelles Onboarding durchführen, kann Stripe bei Erreichen verschiedener Schwellenwerte weitere Informationen zu verbundenen Konten anfordern. Diese Schwellenwerte werden manchmal durch Überprüfungsfehler oder OFAC-Prüfungen ausgelöst. In anderen Fällen werden sie durch eine Verarbeitungs- oder Zeitkomponente ausgelöst. Beispielsweise können nach einer Zahlung von 1.500 USD oder 30 Tage nach Erstellung eines Kontos (je nachdem, was zuerst eintritt) weitere Informationen angefordert werden. Prüfen Sie das Array requirements.
und den Zeitstempel requirements.
, um herauszufinden, welche Informationen wann erforderlich sind.
In einigen Fällen, wenn Sie bis zu einem bestimmten Datum keine neuen Informationen erfassen, werden Zahlungen und payouts möglicherweise deaktiviert, bis Sie diese erfassen. Sie können diese Szenarien auslösen, um diese Schwellenwerte zu testen und dann die erforderlichen Informationen zu erfassen.
Auslöseschwellen
Sie können mit dem Verifizierungs-Token (tok_
) eine Zahlung erstellen, um einen allgemeinen Verifizierungsgrenzwert auszulösen. Dadurch werden weder Zahlungen noch Auszahlungen blockiert, jedoch wird die Anforderung zusätzlicher Informationen ausgelöst. Wenn Sie den Webhook account.
beobachten, können Sie Folgendes prüfen:
requirements.
, um zu ermitteln, welche Informationen erforderlich sind.currently_ due requirements.
, um herauszufinden, wann die Informationen benötigt werden.current_ deadline
Wenn die Informationen nicht bis zum current_
erfasst werden, können Zahlungen und Auszahlungen deaktiviert werden. Solche und ähnliche Szenarien können Sie in den nachfolgenden Abschnitten zum Blockieren von Zahlungen und Auszahlungen testen.
Sie können auch genauere Verifizierungsschwellen auslösen, zum Beispiel, wenn die Identität nicht übereinstimmt oder die OFAC-Schwelle erreicht wird. Es ist hilfreich, diese Schwellen zu testen, da sie häufig der Grund sind, wenn die Verifizierung fehlschlägt.
Blockierte Zahlungen testen
Sie können Zahlungen blockieren, indem Sie mit dem Token Zahlung blockieren (tok_
) eine Testzahlung erstellen. Anschließend sollten Sie den Webhook account.
erhalten, der Folgendes anzeigt:
charges_
.enabled=false - Die erforderlichen Informationen im
requirements.
-Array.currently_ due - Ein leeres
requirements.
-Array.eventually_ due
Sie können das Konto mit neuen Informationen aktualisieren. Dadurch wird ein weiterer Webhook ausgelöst, der signalisiert, dass Zahlungen aktiviert sind und dass die Zeilen requirements.
and requirements.
leer sind.
Blockierte Auszahlungen testen
Sie können Auszahlungen blockieren, indem Sie mit dem Token Transfer blockieren (tok_
) eine Test-Zahlung erstellen. Anschließend sollten Sie den Webhook account.
erhalten, der Folgendes anzeigt:
payouts_
.enabled=false - Die erforderlichen Informationen im
requirements.
-Array.currently_ due - Ein leeres
requirements.
-Array.eventually_ due
Sie können das Konto mit neuen Informationen aktualisieren. Dadurch wird ein weiterer Webhook ausgelöst, der signalisiert, dass Auszahlungen aktiviert sind und dass die Zeilen requirements.
and requirements.
leer sind.