# Express Checkout — Apple Pay, Google Pay & Amazon Pay über Stripe — Vollständige Anleitung

> Überblick DataFirefly Express Checkout fügt Ihrem PrestaShop-8- oder -9-Shop Wallet-Zahlungen — Apple Pay, Google Pay und Amazon Pay — über Stripe hinzu. Das Modul basiert auf dem Express Checkout Element…

- Seite: <https://www.datafirefly.com/de/documentation/dfexpresscheckout/>
- Sprache: de
- Aktualisiert am: 2026-07-08
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/dfexpresscheckout/index.md), [en](https://www.datafirefly.com/en/documentation/dfexpresscheckout/index.md), [es](https://www.datafirefly.com/es/documentation/dfexpresscheckout/index.md), [it](https://www.datafirefly.com/it/documentation/dfexpresscheckout/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfexpresscheckout/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfexpresscheckout/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfexpresscheckout/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

## Überblick

DataFirefly Express Checkout fügt Ihrem PrestaShop-8- oder -9-Shop Wallet-Zahlungen — **Apple Pay**, **Google Pay** und **Amazon Pay** — über Stripe hinzu. Das Modul basiert auf dem **Express Checkout Element** von Stripe: einer einzigen Komponente, die automatisch die auf dem Gerät des Kunden verfügbaren Wallets erkennt und die passenden Schaltflächen anzeigt.

Die Schaltflächen können an drei Stellen erscheinen, jeweils unabhängig aktivierbar: auf der **Produktseite** (Express-Kauf), im **Warenkorb** und auf der **Checkout-Seite**. Nach der Zahlung wird die Bestellung durch einen **signaturgeprüften Stripe-Webhook** erstellt und validiert, mit idempotenter Logik, die doppelte Bestellungen verhindert. Das Modul ist mit Einzel- und Multistore kompatibel und wird in fünf Sprachen ausgeliefert (FR, EN, ES, DE, IT).

## Voraussetzungen

- PrestaShop **8.0 bis 9.x**, PHP 7.4 oder höher.
- Die **PHP-cURL**-Erweiterung aktiviert (bei der Installation geprüft).
- Ein aktives **Stripe-Konto**.
- Ein über **HTTPS** ausgelieferter Shop (erforderlich für Apple Pay und Google Pay).

## Installation

1. Öffnen Sie im Backoffice **Module > Modul-Manager**.
2. Klicken Sie auf **Modul hochladen** und legen Sie das ZIP-Archiv des Moduls ab.
3. Klicken Sie nach Abschluss der Installation auf **Konfigurieren**.

Bei der Installation erstellt das Modul eine Transaktions-Tracking-Tabelle und einen eigenen Bestellstatus „Zahlung autorisiert (Erfassung ausstehend)“, der vom manuellen Erfassungsmodus verwendet wird.

## Verbindung mit Stripe

Das Modul bietet zwei Verbindungsmodi, eingestellt über das Feld **Verbindungsmodus**.

### Manueller Modus (API-Schlüssel)

Geben Sie Ihre Schlüssel aus dem Stripe-Dashboard ein (**Entwickler > API-Schlüssel**):

- **Öffentlicher Schlüssel** und **geheimer Schlüssel**, in Test- und dann Live-Version.
- **Webhook-Secret** (siehe Abschnitt Webhook unten).

Stellen Sie das Feld **Modus** während der Integration auf Test und in der Produktion auf Live. Jeder Modus hat seinen eigenen Schlüsselsatz.

### Automatischer Modus (Stripe Connect / OAuth)

Dieser Modus verbindet Ihr Stripe-Konto mit einem Klick. Klicken Sie auf **Mit Stripe verbinden**, autorisieren Sie den Zugriff, und das Modul ruft automatisch den öffentlichen und geheimen Schlüssel ab, **erstellt den Webhook** (und dessen Signatur-Secret) und versucht, die **Wallet-Domain** für Apple Pay / Google Pay zu registrieren. Die Schaltfläche **Trennen** widerruft den Zugriff und entfernt die Schlüssel.

Der automatische Modus erfordert eine **Stripe-Connect-Anwendung**. Zwei Optionen:

- **Ihre eigene Connect-Anwendung**: Geben Sie die `client_id` und das **Plattform-Secret** (Test und Live) ein.
- **DataFirefly-Broker**: Geben Sie die **Broker-URL** ein, die das Plattform-Secret hält und den OAuth-Austausch durchführt. Ist diese URL gesetzt, hat sie Vorrang.

Geben Sie die im Verbindungsbereich angezeigte **Weiterleitungs-URL** in den _Redirect URIs_ Ihrer Stripe-Connect-Anwendung an, sonst wird die OAuth-Autorisierung abgelehnt.

## Stripe-Konfiguration (Dashboard)

### Webhook

Erstellen Sie im manuellen Modus den Endpunkt unter **Entwickler > Webhooks > Endpunkt hinzufügen**:

- **URL**: die oben auf der Konfigurationsseite des Moduls angezeigte (`.../module/dfexpresscheckout/webhook`).
- **Ereignisse**: `payment_intent.succeeded` und `payment_intent.payment_failed`.
- Kopieren Sie das **Signatur-Secret** (`whsec_…`) in die Modulkonfiguration.

Im automatischen Modus werden der Webhook und sein Secret bei der Verbindung automatisch erstellt.

Ohne konfiguriertes Webhook-Secret weist das Modul eingehende Aufrufe ab: Dies ist eine Sicherheitsmaßnahme — eine Bestellung wird niemals auf Basis eines ungeprüften Aufrufs erstellt.

### Wallets aktivieren

- **Amazon Pay**: Aktivieren Sie es unter **Einstellungen > Zahlungsmethoden** in Ihrem Stripe-Dashboard. Es erscheint dann automatisch im Express Checkout Element.
- **Apple Pay**: Ihre Domain muss in Stripe verifiziert sein (**Einstellungen > Apple Pay**). Im automatischen Modus versucht das Modul diese Registrierung für Sie.
- **Google Pay**: automatisch aktiv, keine Aktion erforderlich.

## Modulkonfiguration

### Anzeigeorte

Drei Schalter steuern die Anzeige der Schaltflächen: **Produktseite**, **Warenkorb** und **Checkout**. Aktivieren Sie sie je nach Strategie unabhängig voneinander.

### Erfassungsmodus

- **Sofortige Erfassung** (Standard): Die Zahlung wird sofort abgebucht und die Bestellung wechselt zu „Zahlung akzeptiert“.
- **Autorisierung und manuelle Erfassung**: Stripe autorisiert die Zahlung, ohne sie abzubuchen; die Bestellung erhält den Status „Zahlung autorisiert (Erfassung ausstehend)“.

### Titel und Design

Passen Sie den **angezeigten Titel** über den Schaltflächen und das **Button-Design** (schwarz, weiß, weiß mit Umrandung) an Ihr Design an.

## Kundenseite

Je nach Ort sieht der Kunde eine oder mehrere Wallet-Schaltflächen. Er bestätigt die Zahlung mit einer einzigen Authentifizierung (Face ID, Fingerabdruck, Amazon-Passwort), ohne ein Konto zu erstellen: E-Mail sowie Liefer- und Rechnungsadresse werden aus dem Wallet übernommen. Wenn Versandkosten anfallen, bietet das Modul die aktiven Versanddienstleister an und **berechnet den Gesamtbetrag** bei jeder Adressänderung neu. Digitale Produkte funktionieren ohne Versandschritt.

Von der Produktseite aus bezieht sich der Express-Kauf auf das angezeigte Produkt (und die gewählte Menge) über einen eigenen Warenkorb, ohne den aktuellen Warenkorb des Kunden zu verändern.

## Manuelle Erfassung: abbuchen oder stornieren

Im manuellen Erfassungsmodus erfolgt die Steuerung über den Bestellstatus:

- Um die Zahlung zu **erfassen**, setzen Sie die Bestellung auf den Status **„Zahlung akzeptiert“**.
- Um die Autorisierung **freizugeben**, setzen Sie die Bestellung auf den Status **„Storniert“**.

Eine Stripe-Autorisierung hat eine begrenzte Lebensdauer (in der Regel 7 Tage). Denken Sie daran, vor Ablauf zu erfassen, sonst wird die Autorisierung automatisch freigegeben.

## Bestellungen, Webhook und Idempotenz

Die Bestellung wird beim Empfang des Ereignisses `payment_intent.succeeded` (signierter Webhook) erstellt und validiert. Ein Rückgabe-Controller dient als Sicherheitsnetz, wenn der Kunde in den Shop zurückkehrt. Eine Transaktionstabelle verknüpft jeden PaymentIntent mit seiner Bestellung: Eine einzelne Transaktion erzeugt daher niemals zwei Bestellungen, unabhängig davon, in welcher Reihenfolge Browser-Rückkehr und Webhook eintreffen. Der Gastkunde und seine Adressen werden aus den vom Wallet zurückgegebenen Informationen rekonstruiert.

## Mehrsprachig und Multistore

Das Modul wird mit Übersetzungsdateien für FR, EN, ES, DE, IT ausgeliefert und funktioniert im Multistore-Kontext. Die Stripe-Schlüssel, der Verbindungsmodus und der Erfassungsmodus sind Standard-Konfigurationseinstellungen.

## Fehlerbehebung

### Die Schaltflächen erscheinen nicht

Prüfen Sie, dass der Shop über HTTPS läuft, dass die Stripe-Schlüssel für den aktiven Modus (Test/Live) gesetzt sind und dass der betreffende Ort aktiviert ist. Apple Pay erscheint nur auf Safari/iOS mit verifizierter Domain; Google Pay auf Chrome/Android.

### Die Zahlung ist erfolgreich, aber es wird keine Bestellung erstellt

Prüfen Sie den Webhook: korrekte URL, Ereignisse `payment_intent.succeeded` und `payment_intent.payment_failed` sowie ein Signatur-Secret, das mit dem des Moduls identisch ist. Überprüfen Sie die Stripe-Protokolle (Webhook-Zustellversuche) und die PrestaShop-Protokolle.

### Amazon Pay fehlt

Es muss unter **Einstellungen > Zahlungsmethoden** im Stripe-Dashboard aktiviert sein. Danach erscheint es automatisch.

### Die automatische Verbindung schlägt fehl

Prüfen Sie, dass die Connect-`client_id` für den aktiven Modus gesetzt ist und dass die Weiterleitungs-URL des Moduls in Ihrer Connect-Anwendung korrekt deklariert ist. Ein ungültiges State-Token weist auf eine abgelaufene Sitzung hin: Starten Sie die Verbindung im Backoffice erneut.

## Deinstallation

Die Deinstallation entfernt die Modulkonfiguration. Die Transaktions-Tracking-Tabelle wird standardmäßig zur Nachvollziehbarkeit vergangener Bestellungen beibehalten.

## FAQ

### Funktioniert Amazon Pay wirklich über Stripe?

Ja. Stripe unterstützt Amazon Pay innerhalb des Express Checkout Element; Sie müssen es nur im Stripe-Dashboard aktivieren.

### Muss ich Abhängigkeiten (Composer) installieren?

Nein. Das Modul bringt einen internen Stripe-Client in cURL mit. Installieren Sie einfach das Modul und geben (oder verbinden) Sie Ihre Schlüssel.

### Ist das Modul mit PrestaShop 9 kompatibel?

Ja, es ist mit PrestaShop 8.0 bis 9.x kompatibel und auf PHP 8.1 bis 8.3 getestet.

### Kann ich vom manuellen in den automatischen Modus wechseln?

Ja, jederzeit über die Konfiguration. Im automatischen Modus werden die Schlüssel durch die OAuth-Verbindung ausgefüllt; im manuellen Modus geben Sie sie selbst ein.
