# Erforderliche Verifizierungsinformationen

Identifizieren Sie aktuelle und zukünftige Informationsanforderungen, die verbundene Konten basierend auf ihrem Geschäft, ihrem Standort und den angeforderten Funktionen bereitstellen müssen.

## Anweisungen

Die für Menschen zugängliche Version dieser Dokumentation ermöglicht es Nutzerinnen und Nutzern, mithilfe eines Formulars Felder und Regionen für verbundene Konten auszuwählen. Anschließend werden API-Anfragen ausgeführt, um die Anforderungen abzurufen und anzuzeigen, die ein verbundenes Konto mit der ausgewählten Konfiguration und Region bereitstellen muss. Befolgen Sie diese Anweisungen, um dieselben Informationen abzurufen.

### Interaktionsvertrag

In diesem Dokument verwendete Terminologie:

- `field`: eine Konfigurationseingabe wie `platformCountry`, `accountCountry` oder `capabilities`
- `option`: eine angezeigte auswählbare Option für ein Feld
- `value`: die Option, die Nutzer/innen auswählen, oder der Freitextwert, den Nutzer/innen für ein Feld angeben

Jedes Mal, wenn Sie Nutzer/innen bitten, einen Wert für ein Feld anzugeben:

- Verwenden Sie eine Multiple-Choice-Frage. Belassen Sie es niemals bei einer einfachen Freitextaufforderung und warten Sie nicht auf reine Chat-Eingaben.
- Wenn Sie freie Nutzereingaben benötigen, weisen Sie Nutzer/innen an, das Freitextfeld der Frage zu verwenden.
- Geben Sie bei langen Optionslisten ausdrücklich an, dass jeder Wert der vollständig überprüften Liste weiterhin über das Freitextfeld akzeptiert wird.
- Wenn Nutzer/innen bereits in einer früheren Nachricht eine gültige Antwort gegeben haben, verwenden Sie diese Antwort, anstatt erneut zu fragen.

### Feste Regeln

Sie müssen die folgenden Regeln beachten:

- Fragen Sie ein Feld *nur* ab, nachdem alle vorausgesetzten Felder erfüllt sind.
- Erfassen Sie die Konfigurationsfelder schrittweise während des Verlaufs des Prozesses.
- Fragen Sie jeweils nur Feld ab, oder eine Gruppe von Feldern nur dann, wenn sie an diesem Punkt im Prozess unabhängig sind.
  - Fragen Sie beispielsweise `platformCountry` und `accountCountry` separat ab: Das Plattformland bestimmt, welche Kontoländer gültig sind. Wenn Sie also beide Werte zusammen abfragen, kann dies zu ungültigen Kombinationen führen. Sie können jedoch `dashboardType`, `tosType` und `legalEntityType` zusammen in einer Gruppe abfragen, da ihre gültigen Optionen bereits aus derselben Antwort bekannt sind.
- Wenn jemals ein Konflikt zwischen der Anfrage von Nutzern/Nutzerinnen und der überprüften Konfiguration besteht, informieren Sie Nutzer/innen über den Konflikt und bitten Sie sie, ihre Konfigurationsauswahl anhand des [Interaktionsvertrags](https://docs.stripe.com/connect/required-verification-information.md#interaction-contract) zu überarbeiten. Stellen Sie sicher, dass die überprüfte Konfiguration mit der Anfrage der Nutzer/innen übereinstimmt, anstatt den Konflikt stillschweigend zu ignorieren.
- Halten Sie sich bei jeder Frage von Nutzer/innen an den [Interaktionsvertrag](https://docs.stripe.com/connect/required-verification-information.md#interaction-contract).
- Wenn die Anzahl der verfügbaren Optionen vier überschreitet, geben Sie *immer* die vollständige überprüfte Referenzliste aus, bevor Sie die Multiple-Choice-Frage stellen, damit Nutzer/innen die gesamten Optionen sehen können.
  - Wenn Sie Länder ausgeben, geben Sie immer den vollständigen Ländernamen gefolgt vom zugehörigen Code in Klammern aus, z.&nbsp;B. `Deutschland (DE)`.
  - Verwenden Sie spezifische Länder in den Schnellauswahloptionen, damit Nutzer/innen sofort Klarheit haben und fortfahren können.
  - Lassen Sie die Beschreibungen für die Schnellauswahloptionen für Länder leer.
- Zeigen Sie Nutzern/Nutzerinnen für jedes Feld mit einer kleinen Auswahl gültiger Optionen jede gültige Option an.
- Jede Liste auswählbarer Optionen, die Nutzern/Nutzerinnen angezeigt wird, muss vorab gegen alle aktuell bekannten Einschränkungen validiert werden.
- Zeigen Sie eine Option niemals als auswählbar an, wenn Sie bereits wissen, dass sie später im Prozess entfernt, abgelehnt oder automatisch angepasst wird.
  - Präsentieren Sie Optionen, die während des aktuellen Prozesses gültig bleiben.
- Fragen Sie nach `capabilities`, nachdem `platformCountry`, `accountCountry` und die nachgelagerten Gültigkeitseinschränkungen für diese Konfiguration aufgelöst wurden.
- Fragen Sie *nur* nach `orrProgram`, wenn es in den öffentlichen `programs` vorhanden ist, die für die überprüfte Konfiguration zurückgegeben wurden.
- Wenn die `businessStructure`-Zuordnung für den ausgewählten `legalEntityType` leer ist oder genau einen Schlüssel `nil` enthält, überspringen Sie `businessStructure`. Fragen Sie andernfalls nach `businessStructure` und lassen Sie immer die Option `none`zu oder erlauben Sie die Möglichkeit, in der Schnellauswahloption in der Multiple-Choice-Frage das Feld nicht auszuwählen.
- Wenn Nutzer/innen beschließen, eine frühere Auswahl wie `platformCountry` zu ändern, müssen Sie vor dem Fortfahren alle nachgelagerten Felder für ungültig erklären und erneut überprüfen.
- Halten Sie die Abhängigkeitskette implizit. Teilen Sie die Informationen, die Nutzer/innen benötigen, um fortzufahren, und halten Sie den Prozess einfach.
- Verwenden Sie eine kundenorientierte Sprache, wenn Sie mit Nutzerinnen und Nutzern sprechen. Im Folgenden finden Sie die Informationen zur Übersetzung der internen API-Terminologie.

#### Interne Felder -> Externe Sprache

| Internes Feld | Externe Sprache |
| --- | --- |
| `apiVersion` | Accounts API-Version |
| `platformCountry` | Plattformland |
| `accountCountry` | Kontoland |
| `dashboardType` | Dashboard-Typ |
| `tosType` | Rahmenvertrag |
| `legalEntityType` | Unternehmenstyp |
| `businessStructure` | Unternehmensstruktur |
| `capabilities` | Funktionen |
| `orrProgram` | Aktualisierung der Anforderungen |
| `eu2025` | Europa |

### Abhängigkeitskette

Sie müssen diese Abhängigkeitskette genau einhalten:

```mermaid
flowchart TD
  apiVersion["apiVersion"] --> capabilities
  platformCountry --> accountCountry["accountCountry"]
  accountCountry --> dashboardType["dashboardType"]
  accountCountry --> tosType["tosType"]
  accountCountry --> legalEntityType["legalEntityType"]
  legalEntityType --> businessStructure["businessStructure (optional)"]
  accountCountry --> capabilities["capabilities"]
  accountCountry --> orrProgram["orrProgram (only if returned)"]
  tosType --> capabilities
  apiVersion --> capabilities
  dashboardType --> finalRequest["final requirements request"]
  apiVersion --> finalRequest
  platformCountry --> finalRequest
  accountCountry --> finalRequest
  tosType --> finalRequest
  legalEntityType --> finalRequest
  businessStructure --> finalRequest
  capabilities --> finalRequest
  orrProgram --> finalRequest
```

Interpretieren Sie das Diagramm wörtlich:

- Fragen Sie nach einem Knoten *erst*, nachdem alle eingehenden Abhängigkeiten aufgelöst wurden.
- Fragen Sie Nutzer/innen immer zuerst nach der `apiVersion`. Empfehlen Sie standardmäßig `v2`.

### Eingaben, die Sie letztendlich benötigen

Bis Sie die finale Anforderungsanfrage stellen, müssen Sie einen überprüften Wert für Folgendes haben:

- `apiVersion`: `v1` oder `v2`
- `platformCountry`
- `accountCountry`
- `dashboardType`
- `tosType`
- `legalEntityType`
- `capabilities`: es muss mindestens eine Funktion ausgewählt sein

Sie sollten bei Bedarf auch nach den folgenden optionalen Feldern gefragt haben:

- `businessStructure`: nur abfragen, wenn `legalEntityType` nicht `individual` lautet
- `orrProgram`: nur abfragen, wenn in der öffentlichen `programs`-Liste für diese überprüfte Konfiguration vorhanden

### Funktionen auflösen

Verwenden Sie diesen Algorithmus, wann immer Sie die Liste der Funktionen erstellen oder überprüfen:

1. Beginnen Sie bei `country_map[accountCountry].capabilities`.
2. Wenden Sie die Regeln für `tosType` an:
   - Wenn `tosType=recipient` ist, erzwingen Sie `transfers` und entfernen Sie alle anderen Funktionen mit Ausnahme von `crypto_transfers`, die in seltenen Fällen verfügbar sein können.
   - Wenn `apiVersion=v1` ist und `crypto_transfers` ausgewählt ist, schließen Sie auch `transfers` ein.
3. Wenn `apiVersion=v2` ist, entfernen Sie alle Funktionen, die nicht in `get-v2-supported-v1-capabilities` aufgeführt sind.
4. Zeigen Sie dem Nutzer/der Nutzerin die gefilterte Liste der Funktionen an. Wenn der Nutzer/die Nutzerin ausdrücklich nach einer herausgefilterten Funktion fragt, erklären Sie deutlich, dass die angefragte Funktion für die aktuelle Konfiguration nicht verfügbar ist.
5. Wenn die gefilterte Liste leer ist, teilen Sie dem Nutzer/die Nutzerin mit, dass für die aktuelle Konfiguration keine Funktionen unterstützt werden, und bitten Sie ihn/sie, frühere Konfigurationsentscheidungen über den [Interaktionsvertrag](https://docs.stripe.com/connect/required-verification-information.md#interaction-contract) zu überarbeiten, bevor Sie die endgültige Anforderungsanfrage stellen.
6. Wenn nach `capabilities` gefragt wird, geben Sie zunächst die vollständig gefilterte Liste aus und stellen Sie dann eine Multiple-Choice-Frage, die die wahrscheinlichste Auswahl basierend auf dem bisherigen Nutzerkontext enthält.
7. Wenn der Nutzer/die Nutzerin nach einer Funktion fragt, die nicht in der gefilterten Liste enthalten ist, erklären Sie, warum diese für die aktuelle Konfiguration nicht verfügbar ist.

- Lassen Sie die von dem Nutzer/der Nutzerin gewünschte Funktion in der Unterhaltung sichtbar und erklären Sie direkt die Inkompatibilität. Wenn der Nutzer/die Nutzerin beispielsweise nach `paypal_payments` fragt, aber auch `v2`-Konten ausgewählt hat, erklären Sie, dass `paypal_payments` für `v2`-Konten nicht verfügbar ist, und bieten Sie ihm/ihr die Möglichkeit, zu `apiVersion` `v1` zu wechseln und `paypal_payments` auszuwählen oder bei `apiVersion` `v2` zu bleiben und eine andere Funktion zu wählen.

### Agentenablauf

Wenn der Nutzer/die Nutzerin fragt, welche Verifizierungsinformationen er/sie benötigt, verwenden Sie diesen Prozess:

1. Fragen Sie nach der `apiVersion`. Empfehlen Sie `v2`.
2. Rufen Sie `https://docs.stripe.com/_endpoint/get-platform-countries` ab und verwenden Sie die öffentliche unterstützte Liste, um nach `platformCountry` zu fragen.
3. Rufen Sie `https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilities` ab, wenn `apiVersion=v2`.
4. Rufen Sie `https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=...` mit dem ausgewählten `platformCountry` ab.
5. Fragen Sie aus den zurückgegebenen `country_map`-Schlüsseln nach `accountCountry`.
6. Nachdem `accountCountry` überprüft wurde, fragen Sie nach:
   - `dashboardType`
   - `tosType`
   - `legalEntityType`
7. Nachdem `legalEntityType` ausgewählt wurde, fragen Sie nach `businessStructure`, wenn die verifizierte Strukturzuordnung diese verfügbar macht.
8. Lösen und fragen Sie nach `capabilities` mithilfe von [Resolve capabilities](https://docs.stripe.com/connect/required-verification-information.md#resolve-capabilities).
9. Fragen Sie nur dann nach `orrProgram`, wenn bei der verifizierten Konfiguration mindestens ein öffentliches Programm verfügbar gemacht wird.
10. Wenn die gewünschte Konfiguration des Nutzers/der Nutzerin nicht den gültigen Optionen entspricht, teilen Sie ihm/ihr genau mit, welche Teile ungültig sind oder automatisch angepasst wurden. Stellen Sie anschließend die korrigierende Folgefrage über den [Interaktionsvertrag](https://docs.stripe.com/connect/required-verification-information.md#interaction-contract). Machen Sie die Abweichung sichtbar, verankern Sie die Konfiguration in der Anfrage des Nutzers/der Nutzerin und fahren Sie mit einer strukturierten nachfolgenden Frage fort.
11. Rufen Sie erst nach Validierung der Konfiguration `https://docs.stripe.com/_endpoint/get-requirements-for-setups` mit einem Setup-Schlüssel der obersten Ebene `account-setup-A[...]` auf, einschließlich `account-setup-A[apiVersion]`, `account-setup-A[platformCountry]`, `account-setup-A[accountCountry]`, `account-setup-A[dashboardType]`, `account-setup-A[tosType]`, `account-setup-A[legalEntityType]`, optional `account-setup-A[businessStructure]`, einer oder mehreren `account-setup-A[capabilities][i]` und optional `account-setup-A[orrProgram]`.
12. Am Ende müssen Sie `https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=...` und `https://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=...` mit den final verifizierten Funktionen aufrufen, um nach zusätzlichen Informationen zu suchen.

Wenn Sie gebeten werden, zwei Konfigurationen zu vergleichen oder zu fragen, was für eine Aktualisierung von X auf Y erforderlich ist, müssen Sie denselben Validierungsablauf unabhängig voneinander für Konfiguration A und Konfiguration B mit einem zweiten Schlüssel der obersten Ebene `account-setup-B[...]` wiederholen, bevor Sie die differenzierbare Anforderungsanfrage aufrufen.

Behandeln Sie Transport- oder Build-Fehler als wiederholbare Hilfsfehler und behalten Sie Schlussfolgerungen für nicht unterstützte Konfigurationen für erfolgreiche Voraussetzungsabrufe und geschäftliche Validierungsergebnisse vor.

### curl-Beispiele

Setzen Sie in diesen Beispielen den Dokumenten-Host auf die öffentliche Website:

```bash
DOCS_HOST="https://docs.stripe.com"
```

#### Naiver Nutzer/naive Nutzerin: „Was muss ich für ein verbundenes Konto bei Stripe verifizieren?“

Fragen Sie nach der `apiVersion`. Empfehlen Sie `v2`.

Rufen Sie die öffentliche Länderliste der Plattformen ab:

```bash
curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
```

Fragen Sie den Nutzer/die Nutzerin, welchen Wert er/sie für `platformCountry` verwenden möchte. Rufen Sie dann die zulässigen Optionen für das Plattformland ab. Diese Anfrage teilt Ihnen mit, was als Nächstes gültig ist, und Sie müssen sie verwenden, bevor Sie nachgelagerte Felder auswählen. Angenommen, der Nutzer/die Nutzerin hat sich für `US` entschieden:

```bash
curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  --data-urlencode "platformCountry=US"
```

Nachdem diese Antwort zurückgegeben wurde, sammeln Sie Konfigurationsentscheidungen, wie im Abschnitt [Agentenablauf](https://docs.stripe.com/connect/required-verification-information.md#agent-flow) beschrieben.

#### Cleverer Nutzer/clevere Nutzerin: „Ich habe eine CA-Plattform und möchte für ein verbundenes Unternehmenskonto in FR das Onboarding durchführen, um Kartenzahlungen zu nutzen.“

Fragen Sie nach der `apiVersion`. Empfehlen Sie `v2`.

```bash
# Step 1: verify the platform country is valid
curl --get "$DOCS_HOST/_endpoint/get-platform-countries"

# Step 2: fetch all public options for that platform country
curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
  --data-urlencode "platformCountry=CA"
```

Verifizieren Sie anhand dieser zweiten Antwort zunächst, ob FR ein gültiges Kontoland ist, und lesen Sie anschließend:

- `country_map.FR.dashboard_types`
- `country_map.FR.tos_types`
- `country_map.FR.entity_type_structures`
- `country_map.FR.capabilities`
- `country_map.FR.programs`

Bestätigen Sie dann, dass die gewünschte Konfiguration des Nutzers/der Nutzerin tatsächlich mit diesen verfügbaren Optionen übereinstimmt.

Wenn der Nutzer/die Nutzerin `apiVersion=v2` wünscht, rufen Sie zunächst den v2-Funktionsfilter ab und wenden Sie ihn an, um ihn mit den gewünschten Funktionen des Nutzers/der Nutzerin abzugleichen:

```bash
curl --get "$DOCS_HOST/_endpoint/get-v2-supported-v1-capabilities"
```

Rufen Sie erst dann den Endpoint für die Anforderungen auf, wenn die gewünschte Konfiguration des Nutzers/der Nutzerin tatsächlich mit diesen verfügbaren Optionen übereinstimmt.

Der Endpoint für die Anforderungen erwartet verschachtelte Query-String-Felder, keinen JSON-Body:

```bash
curl --get "$DOCS_HOST/_endpoint/get-requirements-for-setups" \
  --data-urlencode "account-setup-A[apiVersion]=v2" \
  --data-urlencode "account-setup-A[platformCountry]=CA" \
  --data-urlencode "account-setup-A[accountCountry]=FR" \
  --data-urlencode "account-setup-A[dashboardType]=none" \
  --data-urlencode "account-setup-A[tosType]=full" \
  --data-urlencode "account-setup-A[legalEntityType]=company" \
  --data-urlencode "account-setup-A[businessStructure]=corporation" \
  --data-urlencode "account-setup-A[capabilities][0]=card_payments"
```

Da für diese Konfiguration `.programs` vorhanden ist, können Sie den Nutzer/die Nutzerin optional fragen, ob er/sie ein Anforderungs-Update auswählen und `--data-urlencode "account-setup-A[orrProgram]=eu-2025"` zur Anfrage hinzufügen möchte.

Verwenden Sie diese Antwort, um dem Nutzer/der Nutzerin die Anforderungen wie im Abschnitt [Ergebnis erstellen](https://docs.stripe.com/connect/required-verification-information.md#construct-the-result) beschrieben zu präsentieren.

Rufen Sie die optionalen ergänzenden Tabellen für die ausgewählten Funktionen ab:

```bash
curl --get "$DOCS_HOST/_endpoint/get-website-requirements-for-capabilities" \
  --data-urlencode "capabilities[0]=card_payments"
```

```bash
curl --get "$DOCS_HOST/_endpoint/get-mcc-restrictions-for-capabilities" \
  --data-urlencode "capabilities[0]=card_payments"
```

### Lesen Sie die API-Antworten

Verwenden Sie `get-platform-countries`, um Ihr anfängliches `platformCountry` auszuwählen:

- `platform_countries` ist die öffentliche Liste der verfügbaren Optionen für `platformCountry`
- `default_country` ist das standardmäßige Startland der Seite

Verwenden Sie `get-requirement-selections-for-platform-country`, um die Konfiguration zu validieren, bevor Sie den Haupt-Endpoint für die Anforderungen aufrufen:

- `country_map` ist die Source of Truth dafür, welche Feldwerte für diesen `platformCountry`-Wert gültig sind
- Die Schlüssel von `country_map` sind die zulässigen `accountCountry`-Optionen
- `country_map[ACCOUNT_COUNTRY].dashboard_types` schränkt `dashboardType` ein
- `country_map[ACCOUNT_COUNTRY].tos_types` schränkt `tosType` ein
- `country_map[ACCOUNT_COUNTRY].entity_type_structures` schränkt `legalEntityType` und die optionale Option `businessStructure` ein
- `country_map[ACCOUNT_COUNTRY].capabilities` schränkt die Funktionsauswahl ein
- `country_map[ACCOUNT_COUNTRY].programs` listet die einzigen öffentlichen Programme für die Aktualisierung der Onboarding-Anforderungen auf, die Sie als `orrProgram` übergeben dürfen
- `external_country_map` sollte ignoriert werden

Wenden Sie diese Abhängigkeitsregeln an, bevor Sie die finale Anfrage stellen:

- Wenn Sie `accountCountry` ändern, prüfen Sie alle nachgelagerten Auswahlen erneut
- Wenn Sie `legalEntityType` ändern, überprüfen Sie `businessStructure` erneut
- Wenn Sie `accountCountry`, `tosType` oder `apiVersion` ändern, führen Sie [Funktionen auflösen](https://docs.stripe.com/connect/required-verification-information.md#resolve-capabilities) erneut aus

Verwenden Sie `get-requirements-for-setups` als Hauptquelle für Anforderungsdaten:

- `requirements` enthält das erfolgreiche Ergebnis für jeden angeforderten Setup-Schlüssel
- `validation_errors` bedeutet, dass das Setup ungültig war und korrigiert werden muss, bevor Sie die Antwort interpretieren können
- `build_errors` bedeutet, dass der Endpoint bei der Erstellung der Zusammenfassung unerwartet fehlgeschlagen ist. Sie müssen dies als Fehler betrachten, der einen erneuten Versuch erfordert, und nicht als geschäftliches Ergebnis

In jedem erfolgreichen Konfigurationsergebnis:

- `requirements[field_name]` sind die Anforderungsdaten für ein einzelnes Rohfeld, einschließlich Durchsetzungslimits, Alternativen, Anzeige-Metadaten und zugehöriger Anmerkungen, die vom Docs-Renderer verwendet werden
- `extras` enthält für Menschen lesbare Labels und Validierungshinweise für diese Anforderung
- `requirement_tags` enthält Anforderungs-Tags der obersten Ebene, die zusammen mit den Anforderungsdaten zurückgegeben werden
- `requirement_groups` enthält gruppierte Anforderungsdaten, die zusammen mit den Anforderungsdaten zurückgegeben werden

Prüfen Sie die ergänzenden Endpoints, um festzustellen, ob zusätzliche funktionsspezifische Einschränkungen vorliegen, die der Nutzerin oder dem Nutzer angezeigt werden müssen.

- `requirements_by_capability` vom Website-Endpoint ist eine separate Tabelle für Website-Anforderungen, in der die Anforderungen erläutert werden, die die Website des verbundenen Kontos erfüllen muss, um die ausgewählte Funktion zu unterstützen. Diese sollten dem Nutzer/der Nutzerin als separate Tabelle angezeigt werden.
- `restrictions_by_capability` vom MCC-Endpoint ist eine separate MCC-Einschränkungstabelle, die die Anforderungen erklärt, die der MCC des verbundenen Kontos erfüllen muss, um die ausgewählte Funktion zu unterstützen. Wenn dieser Endpoint Einschränkungen zurückgibt, fragen Sie den Nutzer/die Nutzerin anhand von Fragen, welche Art von Unternehmen er/sie betreibt, um festzustellen, ob sein/ihr Unternehmenstyp für die Nutzung der spezifischen Funktion nicht zugelassen oder eingeschränkt ist.
- Leere Zuordnungen sind für viele Standardfunktionen gültige Ergebnisse und keine Fehler

### Ergebnis erstellen

Wandeln Sie die API-Antwort in Ihrer eigenen Antwort an den Nutzer/die Nutzerin in eine oder mehrere für Menschen lesbare Tabelle(n) um, gefolgt von zusätzlichen erläuternden Hinweisen. Hierbei handelt es sich um Ausgabetabellen, die Sie anhand der Antwortdaten erstellen, und nicht um Verweise auf bereits vorhandene Tabellen auf der Dokumentationsseite für Menschen.

##### So erstellen Sie die Tabellen:

1. Teilen Sie jeden Rohfeldschlüssel anhand seines Präfixes in einen Abschnitt auf:
   - `company.*` -> `company`
   - `documents.*` -> `documents`
   - `individual.*` -> `individual`
   - `representative.*` -> `representative`
   - `directors.*` -> `directors`
   - `owners.*` -> `owners`
   - `executives.*` -> `executives`
   - Alles andere -> `account`
2. Rendern Sie eine Tabelle pro nicht leerem Abschnitt. Fassen Sie nicht mehrere Abschnitte in einer Tabelle zusammen.
3. Für jede Tabelle:
   - Verwenden Sie den Namen des Abschnitts als Tabellenüberschrift, z.&nbsp;B. `Account`, `Company`, `Representative`, `Directors` oder `Owners`
   - Fügen Sie die folgenden Spalten ein:
     - Überschrift: leer
       - Inhalt: Anzeigename der Zeile, z.&nbsp;B. „Name“, „Geburtsdatum“, „Adresse“
     - Überschrift: `Requirement`
       - Inhalt: Eine Aufzählungsliste der angezeigten Felder
       - Stellen Sie einen Aufzählungspunkt pro angezeigtem Feld dar
       - Stellen Sie jedes Feld in der Codeformatierung dar
       - Wenn ein Feld Alternativen aufweist, belassen Sie diese im selben Aufzählungspunkt und stellen Sie sie als Disjunktion dar, z.&nbsp;B. `field_a` oder `field_b`
     - Überschrift: `Verification`
       - Inhalt: Eine Aufzählungsliste, die aus `extras[].value` erstellt wurde
       - Stellen Sie jeden `extras[].value`-Eintrag als Aufzählungspunkt dar
       - Wenn `extras` leer ist, lassen Sie den Eintrag leer
     - Überschrift: `Enforcement action`
       - Inhalt: Für Menschen lesbarer Durchsetzungstext, der aus beiden Sätzen von Limit-Feldern erstellt wurde
       - Verwenden Sie zunächst die nicht verifizierten Limit-Felder, um die `if not provided`-Nachricht(en) zu generieren:
         - `capability_limit_amount`
         - `capability_limit_time`
         - `payment_limit_amount`
         - `payment_limit_time`
         - `payout_limit_amount`
         - `payout_limit_time`
       - Verwenden Sie dann die verifizierten Limit-Felder, um die `if not verified`-Nachricht(en) zu generieren:
         - `verified_capability_limit_amount`
         - `verified_capability_limit_time`
         - `verified_payment_limit_amount`
         - `verified_payment_limit_time`
         - `verified_payout_limit_amount`
         - `verified_payout_limit_time`
       - Wenn ein Limit-Beitrag oder eine Limit-Zeit `<= 0` ist, behandeln Sie diese Auswirkung als unmittelbar wirksam
       - Wenn sowohl eine Limit-Zeit als auch ein Limit-Betrag für dieselbe Auswirkung existieren, verbinden Sie diese mit `or`.
       - Fassen Sie Auswirkungen mit identischen Schwellenwerten in einem einzigen Satz zusammen, zum Beispiel `Capability, payments, and payouts will be paused immediately if not provided.`
       - Wenn sowohl Text für `if not provided` als auch für `if not verified` existiert, geben Sie zuerst den Satz oder die Sätze für `if not provided` und dann den Satz oder die Sätze für `if not verified` aus; stellen Sie dem ersten Verifizierungssatz `Also,` voran.
       - Wenn keine der beiden Limit-Gruppen vorhanden ist, geben Sie `—` aus.
4. Wenn zwei Abschnitte dieselbe Zeilendefinitionsfamilie verwenden, bleiben sie dennoch separate Tabellen. Zum Beispiel verwenden `representative` und `owners` beide die Zeilendefinitionsfamilie `person`, werden jedoch als separate Tabellen für `Representative` und `Owners` ausgegeben, da es sich um unterschiedliche Abschnitte handelt.
5. Weisen Sie jeden Abschnitt einer Zeilendefinitionsfamilie zu, die unten in Punkt&nbsp;8 aufgeführt ist. Die Zeilendefinitionsfamilie steuert nur, wie Zeilen innerhalb der Tabelle dieses Abschnitts zugeordnet und beschriftet werden:
   - `account` -> `account`
   - `company` -> `entity`
   - `documents` -> `entity`
   - `individual` -> `person`
   - `representative` -> `person`
   - `owners` -> `person`
   - `executives` -> `person`
   - `directors` -> `person`
6. Entfernen Sie für jeden Abschnitt, der nicht `account` ist, das Abschnittspräfix, bevor Sie Zeilenregeln abgleichen. Gleichen Sie zum Beispiel `representative.first_name` an `first_name` und `company.address.city` an `address.city` an.
7. Verwenden Sie die untenstehenden Zeilendefinitionen für die Zeilendefinitionsfamilie dieses Abschnitts. Erstellen Sie nur dann eine Zeile, wenn mindestens ein Feld in diesem Abschnitt mit der Zeile übereinstimmt.
8. Zeilendefinitionen:

Konto: Händlerkategoriecode: `/business_profile.mcc/` URL: `/business_profile.(url|requirement)/` Produktbeschreibung: `/business_profile.product_description/` Telefonnummer des Supports: `/business_profile.support_phone/` Zahlungsbeschreibung in der Abrechnung: `/settings.payments.statement_descriptor/`

- /settings.card_payments.statement_descriptor/ E-Mail-Adresse des Konbini-Supports: `/settings.konbini_payments.support_email/` Telefonnummer des Konbini-Supports: `/settings.konbini_payments.support_phone/` Zeiten des Konbini-Supports: `/settings.konbini_payments.support_hours/` Allgemeine Geschäftsbedingungen: `/^tos_acceptance\./` Allgemeine Geschäftsbedingungen von Issuing: `/settings\.card_issuing\.tos_acceptance\./` Geschätzte Anzahl der Mitarbeitenden: `/business_profile\.estimated_worker_count/` Jahresumsatz: `/business_profile\.annual_revenue/` Externes Konto: `/external_account/` Gesetzliche Vertreter/gesetzliche Vertreterin: `/legal_guardian\./`

Unternehmen: Unternehmensname: `/name$/` Unternehmensname (Kana): `/name_kana/` Unternehmensname (Kanji): `/name_kanji/` Unternehmensadresse: `/address\..*/` Unternehmensadresse (Kana): `/address_kana/` Unternehmensadresse (Kanji): `/address_kanji/` Telefonnummer des Unternehmens: `/phone/` Steueridentifikationsnummer des Unternehmens: `/tax_id/` Handelsregisternummer: `/registration_number/` ID-Nummer des Unternehmens: `/id_number/` Gewerbeschein: `/company_license/` Gesellschaftsvertrag: `/company_memorandum_of_association/` Nachweis des Bankkontos: `/bank_account_ownership_verification/` Geschäftsführer/in angegeben: `/directors_provided/` Eigentümer/in angegeben: `/owners_provided/` Führungskräfte angegeben: `/executives_provided/`

Person: Name: `/(first|last)_name/` Name (Kana): `/(first|last)_name_kana/` Name (Kanji): `/(first|last)_name_kanji/` Aliase: `/full_name_aliases/` Geburtsdatum: `/dob\./` Adresse: `/^address\./` Adresse (Kana): `/address_kana/` Adresse (Kanji): `/address_kanji/` Registrierte Adresse: `/registered_address/` E-Mail: `/email/` Telefonnummer: `/phone/` Geschlecht: `/gender/` Politische Exponiertheit: `/political_exposure/` Steuerinformationen: `/ssn_last_4$/` oder `/id_number$/` Sekundäre ID-Nummer: `/(id_number_secondary)/` Stellenbezeichnung: `/(relationship\.title)/` Beziehung zur juristischen Person: `/relationship\.(?!title)/` Nationalität: `/nationality/` Reisepass: `/passport/` Gültigkeitsnachweis: `/proof_of_liveness/`

1. Ersetzen Sie für `apiVersion=v2` jedes angezeigte Feld durch `v2_field_name` und verwenden Sie `v2_alternatives`.
2. Wenn `apiVersion=v2` und eine Anforderung `v2_field_name` nicht bereitstellt, lassen Sie dieses Feld in der generierten Tabelle weg. Wenn dadurch jedes Feld aus einer Zeilengruppe entfernt wird, lassen Sie die Zeile weg. Wenn ein Abschnitt leer wird, lassen Sie die Tabelle dieses Abschnitts weg.

##### So erstellen Sie die Zusammenfassung im JSON-Stil:

- Wenn der Nutzer/die Nutzerin nach einer JSON-Zusammenfassung der erforderlichen Elemente fragt, geben Sie ein JSON-Objekt in genau diesem Format zurück:
  ```json
  {
    "requirements": {
      "currently_due": [
        "configuration.merchant.mcc"
      ],
      "eventually_due": []
    }
  }
  ```
- Füllen Sie `requirements.currently_due` mit den Feldnamen der Anforderungen, die aktuell fällig sind, und `requirements.eventually_due` mit den Feldnamen der Anforderungen, die in der Zukunft oder zu einem späteren Zeitpunkt fällig sind.
- Verwenden Sie für `apiVersion=v2` die Werte für `v2_field_name` in beiden Arrays; für `apiVersion=v1` verwenden Sie die rohen Feldnamen der Anforderungen.
- Die JSON-Differenzierungsansicht vergleicht nur Anforderungsnamen; sie führt keinen Differenzierungsvergleich für Verifizierungstext, Schwellenwerte oder ergänzende Metadaten durch.

### So antworten Sie den Nutzerinnen und Nutzern

Wenn Sie Ergebnisse an Nutzerinnen oder Nutzer zurückgeben:

- Geben Sie die exakte validierte Konfiguration an, die Sie abgefragt haben, einschließlich `apiVersion`, `platformCountry`, `accountCountry`, `dashboardType`, `tosType`, `legalEntityType`, optional `businessStructure`, ausgewählter `capabilities` und optionalem `orrProgram`.
- Stellen Sie der Nutzerin oder dem Nutzer immer einen Link zur Verfügung, der die genauen URL-Abfrageparameter enthält, die Sie verwendet haben, damit diese die Anforderungen selbst einsehen und Ihre Schlussfolgerungen überprüfen können.
  - Zum Beispiel: `https://docs.stripe.com/_endpoint/get-requirements-for-setups?account-setup-A[platformCountry]=CA&account-setup-A[accountCountry]=FR&account-setup-A[dashboardType]=full&account-setup-A[tosType]=full&account-setup-A[legalEntityType]=individual&account-setup-A[capabilities][0]=card_payments&account-setup-A[orrProgram]=eu-2025` -> `https://docs.stripe.com/connect/required-verification-information?accountSetupKeys=account-setup-A%2Caccount-setup-B&account-setup-A%5BapiVersion%5D=v2&account-setup-A%5BplatformCountry%5D=CA&account-setup-A%5BaccountCountry%5D=FR&account-setup-A%5BdashboardType%5D=full&account-setup-A%5BtosType%5D=full&account-setup-A%5BlegalEntityType%5D=individual&account-setup-A%5BbusinessStructure%5D=undefined&account-setup-A%5Bcapabilities%5D=card_payments&account-setup-A%5BorrProgram%5D=eu-2025&account-setup-B%5BapiVersion%5D=v1&account-setup-B%5BplatformCountry%5D=US&account-setup-B%5BaccountCountry%5D=US&account-setup-B%5BdashboardType%5D=none&account-setup-B%5BtosType%5D=full&account-setup-B%5BlegalEntityType%5D=individual&account-setup-B%5BbusinessStructure%5D=undefined&account-setup-B%5Bcapabilities%5D=card_payments%2Ctransfers&account-setup-B%5BorrProgram%5D=undefined`
- Wenn eine angeforderte Auswahl aufgrund von Selektorabhängigkeiten geändert werden musste, geben Sie dies ausdrücklich an, bevor Sie die Anforderungen präsentieren.
- Präsentieren Sie aktuell fällige Anforderungen getrennt von zukünftig oder später fälligen Anforderungen und beschriften Sie diese eindeutig.
- Erklären Sie die Verifizierungsaufzählungspunkte und nutzen Sie `extras[].value` als Source of Truth.
- Erwähnen Sie, wenn eine Anforderung ausgelassen wurde, weil sie mit keiner der Tabellenzeilendefinitionen in diesem Dokument übereinstimmte.
- Erwähnen Sie, wenn Website- oder MCC-Endpoints keine ergänzenden Daten zurückgegeben haben, damit die Nutzerin oder der Nutzer dies nicht fälschlicherweise für einen Abruffehler hält.
- Wenn Sie `validation_errors` erhalten, bitten Sie die Nutzerin oder den Nutzer, die Konfigurationseingaben mithilfe des [Interaktionsvertrags](https://docs.stripe.com/connect/required-verification-information.md#interaction-contract) zu korrigieren, anstatt zu raten.
- Wenn Sie `build_errors` erhalten, wiederholen Sie die Anfrage und teilen Sie der Nutzerin oder dem Nutzer mit, dass der Helfer-Endpoint unerwartet fehlgeschlagen ist, falls der Fehler weiterhin besteht.
