> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopify-KYC-App – Identitäts- & Altersverifizierung

> Didits Shopify-App für Identitäts- und Altersverifizierung beim Checkout. No-Code-Setup, ab $0.33 pro KYC-Check, $10 gratis/Monat, ohne Vertrag.

Fügen Sie Ihrem Shopify-Shop in wenigen Minuten Didit-Ausweisverifizierung und Altersbeschränkungen hinzu.
Die Shopify-App **Didit Verify** installiert einen Theme-Block, den Sie auf jeder beliebigen Seite einfügen können (Konto, Checkout, benutzerdefinierte Landingpages), und erstellt Verifizierungssitzungen serverseitig – Ihr API-Schlüssel verbleibt in der eingebetteten App und wird niemals im Storefront offengelegt.
Verifizierungsergebnisse erscheinen direkt im Tab **Verifizierungen** der App in Ihrem Shopify-Adminbereich – kein separates Backend erforderlich – und sind für Händler mit eigenem Backend auch über [Webhooks](https://docs.didit.me/de/integration/webhooks.md) und die [Didit API](https://docs.didit.me/de/sessions-api/retrieve-session.md) verfügbar.
Sie müssen sich nicht in der Didit Business Console anmelden, um auf über Shopify erfasste Verifizierungsdaten zuzugreifen.

## Voraussetzungen

* Ein Shopify-Shop (jeder Tarif)
* Ein [Didit Console](https://business.didit.me)-Konto mit mindestens einem Workflow

***

### Schritt 1: App installieren

1. Öffnen Sie den Installationslink:

   [[https://admin.shopify.com/oauth/install?client\_id=cafa0d15227fb59bd47470b23eae7469](https://admin.shopify.com/oauth/install?client_id=cafa0d15227fb59bd47470b23eae7469)](https://admin.shopify.com/oauth/install?client_id=cafa0d15227fb59bd47470b23eae7469)

2. Wählen Sie Ihren Shop aus (falls Sie mehrere Shops verwalten)

3. Klicken Sie auf **Install**, um die App zu Ihrem Shop hinzuzufügen

> [!NOTE]
>
> Die App fordert einen einzelnen Berechtigungsumfang an – `read_customers` –, der ausschließlich zum Vorausfüllen und Gegenprüfen von Daten verwendet wird, wenn **Allow customer-approved prefill** aktiviert ist und der angemeldete Kunde das optionale Freigabe-Kontrollkästchen auswählt.

***

### Schritt 2: Didit-Anmeldedaten konfigurieren

Nach der Installation öffnet sich Didit Verify im Shopify-Adminbereich.
Nutzen Sie die **Einstellungen**, um die App mit Ihrem Didit-Konto zu verknüpfen.

#### API-Schlüssel abrufen

1. Melden Sie sich in der [Didit Business Console](https://business.didit.me) an
2. Navigieren Sie in der linken Seitenleiste zu **API & Webhooks**
3. Kopieren Sie Ihren API-Schlüssel

![So rufen Sie den API-Schlüssel aus der Didit Business Console ab](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-api-key.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=9027ca685cc296a400e78d320a566453)

4. Fügen Sie den API-Schlüssel in das Feld **Didit API Key** in den Shopify-Einstellungen ein

#### Workflow-ID abrufen

1. Gehen Sie in der Didit Business Console zu **Workflows**
2. Wählen Sie den Workflow aus, den Sie verwenden möchten (oder erstellen Sie einen neuen)
3. Kopieren Sie die **Workflow-ID** (eine UUID wie `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)

![So rufen Sie die Workflow-ID aus der Didit Business Console ab](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-workflow-id.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=529dc681169efc0a6cdc96d6c0e0a605)

4. Fügen Sie die Workflow-ID in das Feld **Didit Workflow ID** ein

#### Einstellungen speichern

Wählen Sie vor dem Speichern unter **Datenaufbewahrung** eine Aufbewahrungsfrist aus.
Der Zeitraum gilt für bestehende und zukünftige Verifizierungen Ihres Shops; wählen Sie daher die für Ihren Shop erforderliche Dauer.
Klicken Sie auf **Save Settings**.
Sie sollten eine Erfolgsmeldung sehen:

![Shopify-Einstellungen erfolgreich gespeichert](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-settings-saved-successfuly.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=93dcf3469f902876ae831075da75a628)

***

### Schritt 3: Verifizierungs-Button zum Theme hinzufügen

1. Gehen Sie in Ihrem Shopify-Adminbereich zu **Online Store** → **Themes**
2. Klicken Sie bei Ihrem aktiven Theme auf **Anpassen**
3. Navigieren Sie zu der Seite, auf der die Verifizierungs-Schaltfläche platziert werden soll (z. B. Kontoseite, eine benutzerdefinierte Seite)
4. Klicken Sie auf **Abschnitt hinzufügen** oder **Add block**
5. Wechseln Sie zum Tab **Apps**
6. Wählen Sie **Didit Verify** aus

Der Verifizierungs-Button erscheint in Ihrem Theme. Sie können ihn ziehen, um seine Position innerhalb des Abschnitts anzupassen.

***

## Zugriff auf Verifizierungsdaten

Die App-Prüfung von Shopify (Anforderung 5.1.5) verlangt, dass Daten, die über einen von Shopify gehosteten Ablauf erfasst werden, für den Händler **innerhalb des Shopify-Adminbereichs oder des App-Kontexts** zugänglich sind – nicht nur auf einem externen Dashboard.
Die Didit Verify App erfüllt dies standardmäßig: Es ist kein Backend, kein Webhook-Empfänger und keine benutzerdefinierte Benutzeroberfläche erforderlich.

### Der Tab „Verifizierungen“ (Standard, ohne Code)

Öffnen Sie **Apps** → **Didit Verify** → **Verifizierungen** in Ihrem Shopify-Adminbereich, um jede über Ihre Storefront erfasste Verifizierungssitzung zu sehen – Status, Kunde, Land und Zeitstempel – beschränkt auf Ihren Shop.
Wählen Sie eine Sitzung aus, um deren Entscheidungsübersicht, Identitätsfelder, einzelne Verifizierungsprüfungen, Warnungen und verfügbare Nachweise anzuzeigen.
Sie können zwischen **Einstellungen**, **Verifizierungen**, **Datenschutz** und **Manuelle Prüfung** wechseln, ohne den Shopify-Adminbereich zu verlassen.
Beim Speichern der Einstellungen bleiben diese Tabs verfügbar.

> [!NOTE]
>
> Der Tab „Verifizierungen“ lädt Daten nur, wenn Sie die App aus Ihrem Shopify-Adminbereich heraus öffnen. Wenn Sie eine Meldung sehen, die Sie auffordert, die Seite erneut zu öffnen, navigieren Sie über die Seitenleiste des Shopify-Adminbereichs zurück zu **Apps** → **Didit Verify**.

Die Didit Business Console (`business.didit.me`) ist eine separate Verwaltungsoberfläche für Konfigurationen (API-Schlüssel, Workflows, Webhook-Ziele).
Weisen Sie Händler nicht an, sie zum Anzeigen von über Shopify erfassten Verifizierungsdaten zu verwenden – dies erfüllt nicht die Datenzugriffsanforderung von Shopify.
Die Console wird nur für die Ersteinrichtung und den Abruf von Anmeldeinformationen benötigt.

### Für Händler mit eigenem Backend (optional)

Wenn Sie über ein eigenes Backend verfügen und dort eine Kopie der Verifizierungsdaten haben möchten – beispielsweise um eine Fulfillment-Logik auszulösen –, liefert Didit die Ergebnisse zusätzlich zum obigen Tab „Verifizierungen“ auch per Webhook und On-Demand-API.

**1. Verifizierungssitzung erstellt**

Die Shopify-App erstellt serverseitig eine Sitzung unter Verwendung Ihres Didit-API-Schlüssels. Der Kunde schließt den Verifizierungsablauf in einem modalen Fenster oder eingebettet im Theme-Block ab.

**2. Ergebnis per Webhook zugestellt**

Wenn die Sitzung einen finalen Status erreicht, sendet Didit einen signierten `status.updated`-Webhook an das Ziel, das Sie in der Didit Business Console unter **API & Webhooks** konfiguriert haben.
Der Webhook-Body enthält das vollständige [Entscheidungsobjekt](https://docs.didit.me/de/integration/webhooks.md#payload-struktur) – dasselbe Schema, das von `GET /v3/session/{id}/decision/` zurückgegeben wird – für die Status `Approved`, `Declined`, `In Review` und `Abandoned`.
Andere finale Status (z. B. `Expired`, `Kyc Expired`) übermitteln die Statusänderung ohne Entscheidungspayload; rufen Sie die API auf, um den Sitzungsstatus zu überprüfen.

**3. Bei Bedarf abrufen (optional)**

Ihr Backend kann auch jederzeit [`GET /v3/session/{sessionId}/decision/`](https://docs.didit.me/de/sessions-api/retrieve-session) aufrufen, um die vollständige Entscheidungspayload abzurufen (Identitätsfelder, Liveness-Erkennung, AML, Gesichtsabgleich usw.).

#### Webhooks für Shopify konfigurieren

1. Navigieren Sie in der [Didit Business Console](https://business.didit.me) zu **API & Webhooks** → **Webhooks**
2. Erstellen Sie ein Webhook-Ziel, das auf Ihren Backend-Endpoint verweist (HTTPS, öffentlich erreichbar)
3. Abonnieren Sie mindestens die Ereignisse `status.updated` und `data.updated`
4. Speichern Sie den zurückgegebenen `secret_shared_key`, um HMAC-SHA256-Signaturen bei eingehenden Webhooks zu überprüfen

Im [Webhooks-Leitfaden](https://docs.didit.me/de/integration/webhooks.md) finden Sie die vollständige Schnittstellenbeschreibung, Beispiele zur Signaturprüfung in Node.js/Python/PHP und das Wiederholungsverhalten.

#### Abrufen einer Sitzungsentscheidung per API

```bash theme={null}
curl https://verification.didit.me/v3/session/<SESSION_ID>/decision/ \
  -H "x-api-key: <YOUR_API_KEY>"
```

Die Antwort enthält `session_kind`, `status` und alle Funktionsarrays (`id_verifications`, `liveness_checks`, `face_matches`, `aml_screenings` usw.). Unter [Sitzung abrufen](https://docs.didit.me/de/sessions-api/retrieve-session.md) finden Sie das vollständige Antwortschema und die Feldreferenz.

***

## Konfigurationsoptionen

### Einstellungen auf der Einstellungsseite

Diese Einstellungen werden in den App-Einstellungen konfiguriert (zugänglich über **Apps** → **Didit Verify** in Ihrem Shopify-Adminbereich):

| Einstellung | Beschreibung |
| - | - |
| **API-Schlüssel** | Ihr Didit-API-Schlüssel (erforderlich) |
| **Workflow-ID** | Der zu verwendende Verifizierungs-Workflow (erforderlich) |
| **Anbieterdaten** | Wie Sitzungen mit Benutzern in Ihrer Didit Console verknüpft werden: **Kunden-ID** (gesendet als `shopify-<customer-id>`), **Kunden-E-Mail**, **Shop + Kunden-ID** (gesendet als `<shop-domain>-<customer-id>`) oder **Keine**. Wird nur angewendet, wenn der Kunde eingeloggt ist. |
| **Callback-URL** | Optionale URL, zu der Benutzer nach der Verifizierung weitergeleitet werden. Didit hängt `verificationSessionId` und `status` als Abfrageparameter an. |
| **Callback-Methode** | Welches Gerät die Weiterleitung verarbeitet: **Standard (Initiator)**, **Initiator**, **Vervollständiger** oder **Beides** |
| **Sprache** | Sprache der Verifizierungs-UI (automatische Erkennung oder bestimmte Sprache) |
| **Kunden-Login erforderlich** | Wenn aktiviert, können sich nur eingeloggte Kunden verifizieren |
| **Vom Kunden genehmigte Vorausfüllung zulassen** | Bietet ein optionales Kontrollkästchen zum Teilen des Namens, der E-Mail-Adresse, der Telefonnummer und der Adresse des eingeloggten Kunden für Vorausfüllung und Identitätsprüfungen an. Details werden nur gesendet, wenn der Kunde dies auswählt. |
| **Automatisch löschen nach (Tagen)** | Wählen Sie aus, wie lange der Store Verifizierungsdatensätze benötigt. Der ausgewählte Zeitraum gilt für bestehende und zukünftige Datensätze aus diesem Store. Die Löschung ist unwiderruflich. |

### Datenschutzoptionen für Kunden

Der Storefront-Block bietet ein optionales Kontrollkästchen zum Teilen von Kontodaten für die Vorausfüllung und Identitätsprüfungen an.
Wird es nicht aktiviert, kann der Kunde die Daten selbst eingeben.

Unter **Verifizierungsoptionen** kann ein angemeldeter Kunde eine manuelle Prüfung anfordern oder seine Einwilligung widerrufen und die Löschung seiner Verifizierungsdaten beantragen.
Eine manuelle Prüfung pausiert die automatisierte Verifizierung und fügt eine Anfrage zu **Apps → Didit Verify → Manuelle Prüfung** hinzu.
Kontaktieren Sie den Kunden und vereinbaren Sie eine geeignete Alternative, bevor Sie diese Anfrage abschließen.
Das Abschließen einer Anfrage zur manuellen Prüfung genehmigt weder eine Verifizierung noch einen Kauf.

Der Widerruf stoppt den bestehenden Verifizierungslink sofort und verhindert neue Verifizierungen, während die Löschung verarbeitet wird.
Die Storefront bestätigt den Eingang der Anfrage; sie behauptet nicht, dass die Löschung bereits abgeschlossen ist.

## Datenschutzanfragen bearbeiten

Öffnen Sie **Apps → Didit Verify → Datenschutz**, um Kundenexporte und Löschanfragen nachzuverfolgen, die von Shopify oder der Storefront empfangen wurden.

* **Kundenexport:** Laden Sie die vorbereitete ZIP-Datei herunter, stellen Sie sie über Ihren sicheren Kundensupport-Prozess bereit und wählen Sie anschließend **Ich habe diesen Export bereitgestellt**.
* **Kundenlöschung:** Die Anfrage bleibt in Bearbeitung, bis die mit dem Store und dem Kunden verknüpften Verifizierungsdatensätze, hochgeladenen Dateien und Anfragen zur manuellen Prüfung gelöscht wurden.
* **Handlungsbedarf:** Befolgen Sie die Anweisungen der Anfrage, um eine fehlende Kunden-ID zu beheben, oder kontaktieren Sie den Didit-Support, wenn ein Profil Daten aus einem anderen Store oder Verwendungszweck enthält.

Exporte enthalten Verifizierungsdatensätze, hochgeladene Dateien und Anfragen zur manuellen Prüfung, die dem anfragenden Store und Kunden zugeordnet sind.
Temporäre Downloads laufen nach sieben Tagen ab; nutzen Sie **Nach der Behebung erneut versuchen**, um bei Bedarf einen neuen Download vorzubereiten.
Ein heruntergeladener Export muss gemäß Ihren eigenen Kundensupport- und Datenschutzverfahren gehandhabt werden.

Legen Sie die Aufbewahrungsfrist unter **Einstellungen → Datenaufbewahrung** fest.
Ältere Verifizierungsdaten werden automatisch gelöscht; neuere Verifizierungen bleiben verfügbar.
Die bestehende Aufbewahrungsfrist auf Anwendungsebene gilt weiterhin, wenn keine storespezifische Frist ausgewählt wurde.
Prüfen Sie unter **Datenschutz**, ob Aufbewahrungsanfragen bearbeitet werden müssen.

Sobald eine Löschanfrage **Gelöscht** anzeigt, ist die Löschung unwiderruflich und die gelöschten Medien sind nicht mehr verfügbar.
Verbrauchte Credits und separat verwaltete Sperrlisteneinträge bleiben unberührt.

## Theme-Block-Einstellungen

Diese Einstellungen werden im Shopify-Theme-Editor konfiguriert, wenn Sie den Didit Verify-Block auswählen:

#### Verbindung

| Einstellung | Beschreibung |
| - | - |
| **Modus** | **App-Workflow** (empfohlen) verwendet den in den App-Einstellungen gespeicherten Workflow. **UniLink-Workflow** verwendet einen öffentlichen Workflow-Link aus dem verknüpften Didit-Konto. Beide Modi erstellen dem Store zugeordnete Sitzungen, deren Ergebnisse in der App verfügbar sind. |
| **UniLink-URL** | Wird nur im UniLink-Modus verwendet. Verwenden Sie einen aktiven Link aus dem Didit-Konto, das in den App-Einstellungen verknüpft ist. Kunden müssen sich in ihrem Store-Konto anmelden. |

#### Anzeige

| Einstellung | Beschreibung |
| - | - |
| **Anzeigemodus** | **Modal** – öffnet die Verifizierung in einem Popup-Overlay. **Eingebettet** – zeigt die Verifizierung inline unterhalb der Schaltfläche an. |
| **Schließen-Schaltfläche anzeigen** | Blendet das X-Symbol zum Schließen des Verifizierungs-Modals ein/aus |
| **Bestätigungsdialog beim Verlassen** | Fordert Benutzer vor dem Schließen der Verifizierung zur Bestätigung auf |
| **Bei Abschluss automatisch schließen** | Schließt das Modal automatisch, sobald die Verifizierung abgeschlossen ist |
| **Debug-Protokollierung** | Aktiviert Browser-Konsolenprotokolle zur Fehlerbehebung |

#### Erscheinungsbild der Schaltfläche

| Einstellung | Beschreibung |
| - | - |
| **Text der Schaltfläche** | Auf der Schaltfläche angezeigter Text (Standard: "Identität verifizieren") |
| **Erfolgstext** | Nach erfolgreicher Verifizierung angezeigter Text (Standard: "Identität verifiziert ✓") |
| **Hintergrundfarbe** | Hintergrundfarbe der Schaltfläche |
| **Textfarbe** | Textfarbe der Schaltfläche |
| **Rahmenradius** | Eckenabrundung der Schaltfläche (0–50px) |
| **Vertikaler Abstand** | Abstand oben/unten (0–40px) |
| **Horizontaler Abstand** | Abstand links/rechts (0–60px) |
| **Schriftgröße** | Schriftgröße des Schaltflächentexts (10–32px) |

***

## Empfohlenes Setup

Für die meisten Stores empfehlen wir:

* **Modus:** App-Workflow (verwendet den in den App-Einstellungen gespeicherten Workflow)
* **Anzeigemodus:** Modal (funktioniert überall, keine Layout-Probleme)
* **Kunden-Login erforderlich:** Aktiviert (verknüpft die Verifizierung mit Kundenkonten)
* **Vorausfüllung nach Kundeneinwilligung zulassen:** Aktiviert (Kunden entscheiden, ob sie ihre Store-Daten teilen möchten)

***

## Testen

1. Zeigen Sie eine Vorschau Ihres Themes an oder besuchen Sie Ihren Store
2. Navigieren Sie zu der Seite mit der Didit Verify-Schaltfläche
3. Klicken Sie auf **Identität verifizieren**
4. Schließen Sie den Verifizierungsablauf ab
5. Prüfen Sie in Ihrem Backend, ob der Webhook zugestellt wurde, oder rufen Sie [GET /v3/session/{id}/decision/](https://docs.didit.me/de/sessions-api/retrieve-session.md) auf, um das Verifizierungsergebnis abzurufen

> [!NOTE]
>
> Die Sandbox ist kostenlos (jede Sandbox-Anwendung kann alle 24 Stunden 500 Testsitzungen erstellen), sodass Sie den gesamten Ablauf kostenfrei testen können. Im Live-Modus umfasst das kostenlose Kontingent ein monatliches Guthaben von \$10.

***

## Fehlerbehebung

### Die Schaltfläche reagiert beim Klicken nicht

* Stellen Sie sicher, dass Sie Ihren API-Schlüssel und Ihre Workflow-ID in den Einstellungen gespeichert haben
* Überprüfen Sie, ob die Workflow-ID zur selben Anwendung wie Ihr API-Schlüssel gehört
* Aktivieren Sie **Debug-Protokollierung** in den Block-Einstellungen und prüfen Sie die Browser-Konsole auf Fehler

### Fehler "Didit-Anmeldedaten nicht konfiguriert"

* Für diesen Store sind in der App kein API-Schlüssel oder keine Workflow-ID hinterlegt. Öffnen Sie **Apps** → **Didit Verify**, füllen Sie beide Felder aus und klicken Sie auf **Einstellungen speichern**

### "Sie müssen angemeldet sein, um Ihre Identität zu verifizieren"

* **Kunden-Login erforderlich** ist aktiviert (Standardeinstellung). Der Kunde muss sich zuerst in seinem Store-Konto anmelden – oder deaktivieren Sie die Einstellung in den App-Präferenzen, falls Sie Gastverifizierungen benötigen

### Einstellungen werden nicht gespeichert

* "Validierung des API-Schlüssels fehlgeschlagen" – kopieren Sie den API-Schlüssel erneut aus der [Didit Business Console](https://business.didit.me) und stellen Sie sicher, dass keine zusätzlichen Leerzeichen vorhanden sind
* "Dieser Workflow gehört nicht zu Ihrer Anwendung" – die Workflow-ID gehört zu einer anderen Didit-Anwendung als Ihr API-Schlüssel; kopieren Sie beide aus derselben Anwendung

## Support (24/7)

Unser Team steht Ihnen gerne zur Seite, um Sie bei der Einrichtung und Inbetriebnahme zu unterstützen.

> [card] [E-Mail](mailto:hello@didit.me)
>
> Senden Sie uns eine E-Mail an [hello@didit.me](mailto:hello@didit.me).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.