Express Checkout — Apple Pay, Google Pay & Amazon Pay über Stripe — Vollständige Anleitung
Installieren, mit Stripe verbinden (manuell oder automatisch) und Express-Zahlung mit Apple Pay, Google Pay und Amazon Pay auf Produktseite, Warenkorb und Checkout für PrestaShop 8 und 9 einrichten.
Ü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
- Öffnen Sie im Backoffice Module > Modul-Manager.
- Klicken Sie auf Modul hochladen und legen Sie das ZIP-Archiv des Moduls ab.
- 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_idund 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.succeededundpayment_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.