Was es kann
Vorkasse mit Bankdaten und lokal erzeugtem GiroCode sowie gehosteter Stripe Checkout teilen sich eine Zahlungsschicht. Kartendaten bleiben bei Stripe. Zahlungen und ihr Ereignisprotokoll sind im Contao-Backend sichtbar; Vorkasse wird dort bestätigt, Erstattungen werden erfasst beziehungsweise über Stripe ausgeführt.
Unter „Inhalte → Zahlung einrichten“ werden Anbieter und Testmodus eingerichtet. Ein öffentlich erreichbarer HTTPS-Webhook bestätigt Stripe-Zahlungen; die Rückkehrseite allein bestätigt keine Zahlung. Nutzende Bundles verbinden ihre Bestellungen über PayableResolverInterface, Contao-Cron gleicht offene Zahlungen ab. PHP benötigt GD und mbstring für den GiroCode.
Erste Schritte im Backend
Installiere die Zahlungsschicht gemeinsam mit einem nutzenden Bundle wie dem Mini-Shop. Eine eigene Anbindung implementiert PayableResolverInterface; das Payment-Bundle allein stellt keinen Shop bereit. Für GiroCode werden die PHP-Erweiterungen GD und mbstring benötigt.
- Öffne Inhalte → Zahlung einrichten. Vorkasse ist voreingestellt; hinterlege die Bankdaten und wähle die gewünschten Anbieter.
- Für Stripe wähle zuerst den Testmodus, trage den Test-Schlüssel ein und speichere mit ausgeschaltetem Stripe. Führe Webhook bei Stripe anlegen aus oder trage ein vorhandenes Webhook-Secret ein. Schalte danach Stripe ein und speichere erneut.
- Vor dem Wechsel auf Live schließe ausstehende Testzahlungen und Zustellungen ab. Schalte Stripe aus, speichere Live-Modus und Live-Schlüssel, lege den Live-Webhook an und schalte Stripe wieder ein. Die Website braucht HTTPS und einen öffentlich erreichbaren Webhook unter
/_nw/payment/webhook/stripe. - Sichere Symfony
APP_SECRET: Daraus werden die Schlüssel für die verschlüsselte Speicherung abgeleitet. Ein Verlust oder Wechsel macht gespeicherte Schlüssel unlesbar. Leere Schlüsselfelder behalten vorhandene Werte; beim Moduswechsel beide Schlüssel ersetzen. - Prüfe unter Inhalte → Zahlungen Zahlvorgänge und Ereignisprotokoll. Bestätige eingegangene Vorkasse dort manuell und betreibe Contao-Cron regelmäßig, damit offene Zahlungen beim Anbieter abgeglichen werden.
Die Rückkehrseite bestätigt keine Zahlung; maßgeblich sind der geprüfte Webhook und der Anbieterabgleich. Vorkasse-Erstattungen dokumentieren eine bereits extern ausgeführte Überweisung. Stripe-Erstattungen gehen über die API; eine volle Erstattung storniert nicht automatisch eine Bestellung oder Lieferung.
Twig-Integration
Die Zahlungsrückkehr wird über @NordwerkPayment/return.html.twig ausgegeben und lässt sich im Projekt anpassen. Eigene Shops oder Buchungsabläufe stellen ihre Oberfläche selbst bereit und verbinden sie über den Resolver mit der Zahlungsschicht.