# Dein Stripe-Konto verbinden

> Schritt-für-Schritt-Anleitung, wie du dein Stripe-Konto mit FFN Connect verbindest.

## Schritt 1: Voraussetzungen

FFN Connect kommuniziert mit Stripe über die **Stripe-API**. Du benötigst dafür einen **eingeschränkten API-Schlüssel (Restricted Key)** aus deinem Stripe-Dashboard.

### Eingeschränkten API-Schlüssel erstellen

1. Öffne im Stripe-Dashboard -> Einstellungen **Entwickler → API-Schlüssel verwalten** ([dashboard.stripe.com/apikeys](https://dashboard.stripe.com/apikeys)).
2. Klicke auf **Eingeschränkten Schlüssel erstellen**.
3. Vergib einen Namen (z. B. „FFN Connect") und setze die unten aufgeführten Berechtigungen.
4. Kopiere den erstellten Schlüssel — er beginnt mit `rk_live_`.

![Stripe-Dashboard: Dialog „Eingeschränkten Schlüssel erstellen"](https://ffn-connect.de/docs-assets/merchants/stripe/connect-stripe/_images/01-restricted-key-erstellen.png)

### Berechtigungen des Schlüssels setzen

Damit Produkt-, Bestell- und Versandabgleich vollständig funktionieren, benötigt der Schlüssel mindestens:

| Ressource | Benötigte Rechte | Wofür |
|-----------|------------------|-------|
| Checkout Sessions | Lesen | Bestellungen abrufen |
| Produkte (inkl. Preise) | Lesen + **Schreiben** | Produkte importieren; Verfügbarkeit zurückschreiben |
| PaymentIntents | Lesen + **Schreiben** | Zahlung zur Bestellung auflösen; Tracking hinterlegen |
| Charges | **Schreiben** | Versanddetails (Trackingnummer) an der Zahlung speichern |

> [!WICHTIG]
> Für das **Zurückschreiben von Verfügbarkeit und Trackingnummer** reichen Leserechte nicht aus. Erteile dem Schlüssel auf **Produkte**, **PaymentIntents** und **Charges** zusätzlich **Schreibrechte**, sonst bleiben diese Rückmeldungen wirkungslos.

> [!HINWEIS]
> Achte darauf, den Schlüssel im **Live-Modus** zu erstellen (`rk_live_...`). Ein Schlüssel aus dem Testmodus (`rk_test_...`) besteht zwar den Verbindungstest, ruft aber ausschließlich Testmodus-Bestellungen ab.

![Stripe-Dashboard: Dialog „Eingeschränkten Schlüssel erstellen"](https://ffn-connect.de/docs-assets/merchants/stripe/connect-stripe/_images/02-permissions.png)


## Schritt 2: Verkaufskanal hinzufügen

1. Wechsle in deinem Fulfillment-Portal zu **Verkaufskanäle → Verkaufskanal hinzufügen**.
2. Wähle **Stripe** aus.
3. Gib einen Namen für den Verkaufskanal ein (optional).
4. Füge deinen **API Key (Restricted Key)** ein.
5. Klicke auf **Verbindung testen** und anschließend auf **Weiter**.

<!-- TODO Bild: Screenshot des FFN-Connect-Formulars zum Anlegen des Stripe-Verkaufskanals (Name, API Key) -->

> [!HINWEIS]
> Schlägt der Verbindungstest fehl, ist der Schlüssel ungültig oder unvollständig kopiert. Prüfe, ob du den vollständigen Schlüssel (beginnend mit `rk_live_`) eingefügt hast.

## Schritt 3: Artikel synchronisieren

1. Öffne deinen Stripe-Verkaufskanal in FFN Connect, indem du zu **Verkaufskanäle** navigierst und auf den Namen des Verkaufskanals klickst.
2. Klicke auf **Produkte synchronisieren**.
3. Klicke auf **Fortfahren und synchronisieren**.

Anschließend siehst du deine Produkte in der Tabelle des Verkaufskanals. Damit dein Fulfillment-Dienstleister sie bearbeiten kann, gib sie im Hauptmenü unter **Artikel** frei — wie das geht, erklärt der Artikel [Artikel an den Fulfiller freigeben](/docs/merchants/basics/products/release-to-fulfiller).

> [!HINWEIS]
> Stripe-Produkte haben keine Varianten — jedes Produkt erscheint als eigenständiger Artikel. Die Produktpflege bleibt vollständig in Stripe: FFN Connect legt keine Produkte in Stripe an, ändert keine Produktinhalte und löscht nichts.

## Schritt 4: Bestellabruf verstehen

FFN Connect ruft Bestellungen über die **Checkout Sessions** deines Stripe-Kontos ab. Dabei gilt:

- Importiert werden nur **abgeschlossene und bezahlte** Checkout Sessions. Offene oder abgebrochene Zahlungen werden nicht abgerufen.
- Stripe vergibt keine separate Bestellnummer — die **Checkout-Session-ID** (beginnend mit `cs_`) dient als Bestellnummer.
- Stripe kennt keinen Versand- oder Bestellstatus. Der Status deiner Zahlung in Stripe ändert sich durch das Fulfillment daher nicht.

## Schritt 5: Besonderheit Bestand — Stripe führt keinen Lagerbestand

Stripe kennt **keine Bestandsmengen** an Produkten. FFN Connect überträgt deshalb statt einer Menge nur ein **Verfügbarkeitssignal** über den Produktstatus:

- Fällt der verfügbare Bestand auf **0**, wird das Produkt in Stripe **deaktiviert** — im Stripe-Dashboard erscheint es dann als **archiviert** und verschwindet aus Payment Links und dem Checkout.
- Ist wieder Bestand verfügbar, wird das Produkt automatisch **reaktiviert**.

> [!WICHTIG]
> Wenn du nicht möchtest, dass FFN Connect deine Stripe-Produkte automatisch archiviert und reaktiviert (z. B. weil du Payment Links selbst verwaltest), kannst du die Bestandsübertragung deaktivieren: Öffne deinen Stripe-Verkaufskanal, wechsle zu den **Einstellungen** und schalte die Option **Warenbestände übertragen** aus.

<!-- TODO Bild: Screenshot der Verkaufskanal-Einstellungen mit dem Schalter „Warenbestände übertragen" -->

## Schritt 6: Trackingnummer — wo sie in Stripe landet

Sobald eine Bestellung versendet wurde, überträgt FFN Connect die **Trackingnummer** und den **Versanddienstleister** an Stripe. Hinterlegt werden die Angaben in den **Versanddetails der Zahlung**: Öffne im Stripe-Dashboard die Zahlung zur Bestellung — dort findest du Trackingnummer und Versanddienstleister bei den Versandinformationen.

Stripe nutzt diese Angaben automatisch als **Beweismittel bei Zahlungsanfechtungen** (Disputes/Chargebacks) — ein versendetes Paket mit Trackingnummer verbessert deine Position bei Rückbuchungen deutlich.

> [!HINWEIS]
> Bei Bestellungen **ohne Lieferadresse** (z. B. digitale Produkte) speichert FFN Connect die Trackingnummer stattdessen als **Metadaten** (`tracking_number`, `carrier`) an der Zahlung (PaymentIntent).
