Vorab wichtiger Hinweis: Jeder Kunde kann aktuell nur ein automatisches Abrechnungspaket mit PayPal Abonnement haben. Das hat etwas mit der Restriktion bei PayPal zu tun.
Wenn Du also einen Kunden hast, der mehrere Pakete eigentlich abgerechnet haben müsste, musst Du:
- Entweder alles in ein Paket packen und das als PayPal-Abonnement abrechnen lassen
- Oder auf die PayPal-Abonnements bei dem Kunden verzichten.
In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie PayPal mit InvoFlux verbinden und Webhooks einrichten, damit Rechnungen nach einer erfolgreichen Zahlung automatisch als bezahlt markiert werden.
Voraussetzungen
- Aktives PayPal Business-Konto mit Zugriff auf das PayPal Developer Dashboard.
- InvoFlux-Account mit aktivierter PayPal-Integration.
- Optional für Tests: PayPal Sandbox-Konto (Testkäufer).
Schritt 1: PayPal REST-App anlegen
- Melden Sie sich im PayPal Developer Dashboard an.
- Navigieren Sie zu My Apps & Credentials.
- Erstellen Sie eine neue REST-App oder wählen Sie eine bestehende App aus.
- Notieren Sie sich die Client-ID und das Secret der App (für Sandbox und/oder Live, je nach gewünschter Umgebung).
Schritt 2: Webhook in PayPal konfigurieren
Damit PayPal InvoFlux über eingehende Zahlungen informieren kann, muss ein Webhook im PayPal-Dashboard hinterlegt werden.
- Öffnen Sie in Ihrer REST-App im Developer Dashboard den Bereich Webhooks.
- Klicken Sie auf Add Webhook.
- Tragen Sie als Webhook URL die von InvoFlux angegebene Adresse ein, z. B.:
https://ihre-domain.de/webhook/paypal - Wählen Sie mindestens folgende Ereignisse aus:
-
PAYMENT.SALE.COMPLETED(wird ausgelöst, wenn eine Zahlung erfolgreich abgeschlossen wurde). - Optional: weitere Events für Abonnements und Billing-Agreements, wenn Sie diese in InvoFlux verwenden.
-
- Speichern Sie den Webhook.
https:// und ggf. Subdomain).Schritt 3: PayPal-Daten in InvoFlux hinterlegen
- Melden Sie sich in InvoFlux mit einem Administrator-Account an.
- Öffnen Sie die Einstellungen → Zahlungen → PayPal (oder den entsprechenden Bereich).
- Tragen Sie Ihre PayPal Client-ID und das Secret ein (für Sandbox oder Live, passend zu Ihrer PayPal-Konfiguration).
- Speichern Sie die Einstellungen.
- Optional: Falls InvoFlux die Verifizierung der Webhook-Signatur unterstützt, hinterlegen Sie hier auch die Webhook ID aus Ihrer PayPal-App.
Schritt 4: Test mit der PayPal-Sandbox
Bevor Sie mit echten Kunden arbeiten, sollten Sie den Zahlungsfluss einmal komplett mit Testdaten durchspielen.
- Stellen Sie sicher, dass Sie in PayPal im Sandbox-Modus arbeiten und in InvoFlux die Sandbox-Zugangsdaten hinterlegt sind.
- Erstellen Sie in InvoFlux eine Testrechnung mit PayPal als Zahlungsmethode.
- Öffnen Sie die Rechnung und klicken Sie auf den PayPal-Zahlungslink.
- Führen Sie die Zahlung mit einem Sandbox-Testkäufer durch.
- Warten Sie wenige Sekunden und aktualisieren Sie die Rechnung in InvoFlux: Die Rechnung sollte nun automatisch als bezahlt markiert sein.
Fehlerbehebung (Troubleshooting)
Rechnung wird nicht automatisch als bezahlt markiert
- Prüfen Sie im PayPal Developer Dashboard, ob der Webhook zur richtigen URL zeigt.
- Vergewissern Sie sich, dass das Ereignis
PAYMENT.SALE.COMPLETED(und ggf. relevante Abo-Events) aktiviert sind. - Kontrollieren Sie, ob die PayPal-Zugangsdaten (Client-ID, Secret, ggf. Webhook-ID) in InvoFlux korrekt eingetragen sind.
- Überprüfen Sie in Ihrem Server-Log (Symfony-Log), ob Fehlermeldungen beim Empfang des Webhooks auftreten.
Webhook wird mehrfach ausgelöst
PayPal kann Webhooks bei Netzwerkproblemen oder fehlender Bestätigung mehrfach senden. InvoFlux verarbeitet diese Ereignisse so, dass doppelte Zahlungen für dieselbe Rechnung vermieden werden.
Umstellung von Sandbox auf Live
- Erstellen Sie eine separate Live-App im PayPal Developer Dashboard oder wechseln Sie zur Live-Ansicht der bestehenden App.
- Hinterlegen Sie die Live-Client-ID und das Live-Secret in InvoFlux.
- Konfigurieren Sie einen Webhook für die Live-Umgebung mit der Live-URL Ihrer InvoFlux-Installation.
- Führen Sie einen kleinen Live-Test mit geringem Betrag durch, um die Einrichtung zu verifizieren.
Wenn Sie Unterstützung bei der Einrichtung benötigen oder Fehlermeldungen sehen, die Sie nicht zuordnen können, wenden Sie sich gerne an den InvoFlux-Support. Die Hilfe der Einrichtung ist jedoch nicht kostenfrei, gerne erstellen wir Ihnen hier vorab ein Angebot.