Overview
Diese Anleitung bietet einen klaren, sechsstufigen Prozess zur Integration von Stripe-Zahlungen in Ihr ChronoForms 8-Formular für Joomla oder WordPress. Sie behandelt die Installation des Plugins, das Hinzufügen und Konfigurieren der Stripe-Aktion, das Generieren und Speichern einer eindeutigen Bestell-ID sowie das Einrichten des Stripe-Listeners zur Verarbeitung von Zahlungs-Webhooks. Das Tutorial enthält auch Anweisungen zum Aktualisieren Ihrer Datenbank und zum Testen des Listeners, um ein voll funktionsfähiges Zahlungssystem sicherzustellen.
Die Stripe-Zahlungsaktion ist sehr einfach einzurichten, hier ist die Vorgehensweise:
Schritt 1: ChronoForms8 installieren
Stellen Sie sicher, dass Sie die neueste ChronoForms 8 für Joomla oder WordPress auf Ihrer Website installiert haben. Die neuesten Updates finden Sie auf der offiziellen Download-Seite
Schritt 2: Fügen Sie die Stripe-Aktion zu Ihrem Formular hinzu
Wir leiten nach dem Absenden des Formulars zu Stripe weiter und haben daher die Stripe-Aktion im Submit-Ereignis der ersten Seite des Formulars platziert:

Schritt 3: Konfigurieren Sie die Stripe-Aktion
Als nächstes müssen wir die Stripe-Aktion konfigurieren. So sollte unsere Stripe-Aktion eingerichtet sein:

- Der Secret Key (Geheimer Schlüssel) findet sich in Ihren Stripe-Kontoeinstellungen unter Developers > API keys: https://dashboard.stripe.com/apikeys
- Der Publishable Key (Veröffentlichbarer Schlüssel) befindet sich auf derselben Seite in Ihrem Stripe-Konto zusammen mit Ihrem Secret Key
- Die Success URL (Erfolgs-URL) ist die Adresse, zu der Ihr Kunde nach erfolgreichem Kauf weitergeleitet wird. Dies kann jede URL auf Ihrer Website sein
- Die Cancel URL (Abbruch-URL) ist die Adresse, zu der Ihr Kunde weitergeleitet wird, wenn er den Kauf abbricht. Dies kann jede URL auf Ihrer Website sein
- Der Products Provider (Produktanbieter) ist ein mehrdimensionales Array für die Produkte, die auf der Kaufseite bei Stripe aufgelistet werden sollen. Das Array sollte Sub-Arrays mit mindestens den Schlüsseln für Name, Beschreibung, Preis und Menge enthalten. Hier ist ein Beispiel, wie wir die php17-Aktion einrichten, um das benötigte Array zurückzugeben. Anschließend verwenden wir die Variable {var:php17}, um dieses Array an den Stripe-Produktanbieter zu übergeben:

- Die Payment description (Zahlungsbeschreibung) ist eine Zeichenkette, die die gesamte Zahlung beschreibt und auf der Stripe-Zahlungsseite angezeigt wird.
Schritt 4: Generieren, Speichern und Senden einer eindeutigen Bestell-ID an Stripe
Möglicherweise möchten Sie eine Bestell-ID generieren und in der Datenbank speichern, BEVOR Sie zu Stripe weiterleiten. Dies können Sie mit der Variables-Aktion und dem Shortcode {str:uuid} tun:

Dann können wir sie mit der Save Data-Aktion speichern, wie unten gezeigt. Bitte beachten Sie, dass "order_id" durch den Namen der Tabellenspalte ersetzt werden sollte, die die Bestell-ID enthält

Wir können diesen Wert dann über die Custom ID-Variable unter dem Redirect Parameters-Verhalten an Stripe übergeben:

Schritt 5: Richten Sie die Stripe Listener-Aktion ein, um Zahlungs-Webhook-Benachrichtigungen von Stripe zu empfangen
Fügen Sie im selben Formular eine neue Seite hinzu, ändern Sie die Page Group in "webhook" und notieren Sie sich den Seitennamen:

Verwenden Sie auf Ihrer Stripe-Webhooks-Seite den Link: https://www.domain.com/LIVE-LINK-TO-YOUR-FORM?chronopage=page20&output=ajax
Ändern Sie "page20" in Ihren Seiten-Alias
Fügen Sie unter dem Load-Ereignis der Webhook-Seite die Stripe Listener-Aktion hinzu und konfigurieren Sie die Secret Words und wählen Sie einen Namen für die Custom ID, die wir zuvor an Stripe gesendet haben.
Sie müssen dann das Run Events-Verhalten aktivieren und das Ereignis "On Payment Success" aktivieren und wie unter #7 gezeigt eine "Save Data"-Aktion darunter ziehen

Schritt 6: Aktualisieren Sie Ihre Bestell-Datenbanktabelle
Sie können dann Ihre Datenbanktabelle mit der von Stripe erhaltenen Bestell-ID aktualisieren:

Verwenden Sie das Modify Data Source-Verhalten, um das Tabellenfeld zu aktualisieren, das die Bestellung als abgeschlossen markiert. Hier verwenden wir ein Feld "order_complete":

Stripe Listener-Aktivität testen
In einigen Fällen müssen Sie möglicherweise sicherstellen, dass der Stripe Listener vom Stripe-Gateway aus erreichbar ist. Dies können Sie wie folgt tun:
- Fügen Sie eine Message-Ansicht mit etwas Inhalt ÜBER dem Listener hinzu und fügen Sie den Listener-Link in die Adressleiste Ihres Browsers ein:
https://www.domain.com/LIVE-LINK-TO-YOUR-FORM?chronopage=page20&output=ajax
Wenn Sie die Nachricht sehen können, bedeutet dies, dass der Listener von Stripe aus erreichbar ist - Um Stripe-Aufrufe an den Listener zu testen, können Sie die Nachricht durch eine Dummy-E-Mail-Aktion ersetzen. Stellen Sie sicher, dass nur die Felder Recipients (Empfänger), Subject (Betreff) und Body (Nachrichtentext) ausgefüllt sind. Führen Sie dann den gleichen Test wie oben durch ODER führen Sie eine Testtransaktion durch. Sie sollten die E-Mail erhalten, wenn alles korrekt eingerichtet ist.

Comments: