PayPal

PayPal im Backend

PayPal Checkout verwaltet die Verbindung zum PayPal-Händlerkonto, die aktivierten PayPal-Zahlarten, Webhooks, Statusfolgen, Rechnungserstellung und Rückzahlungen aus Bestellungen.

Einordnung und Voraussetzungen

PayPal ist eine Anbieter-Unterseite der Zahlungsarten. Allgemeine Regeln wie Aktivstatus, Reihenfolge, Kosten, Wertgrenzen, Kundengruppen, Versandarten und Versandzonen bleiben auf der Hauptseite der Zahlungsarten gepflegt. Diese Seite erklärt die providerbezogene Konfiguration.

  • Shop-Bezug: Die PayPal-Konfiguration wird je Multishop im Bereich payment_paypal gespeichert.
  • Verbindung: Händlerkennung, ClientId, SecretKey und WebhookId entstehen über den PayPal-Verbindungsprozess und sind im Formular nicht frei editierbar.
  • Modulabhängigkeiten: Rechnungserstellung und Rechnungsversand hängen vom FiBu-Modul ab. PayPal für Abonnements hängt vom Abo-Modul ab.
  • Checkout-Freigabe: PayPal kann im Checkout nur erscheinen, wenn die allgemeine Zahlungsart und die jeweilige PayPal-Zahlart passend aktiv sind.

Verbindung und Betriebsmodus

  • Mit PayPal verbinden: Öffnet den PayPal-Onboarding-Prozess. Nach erfolgreicher Rückgabe werden Händlerkennung, Zugangsdaten und Webhook automatisch gespeichert.
  • Verbindung aufheben: Leert Token, Partner-Token, ClientId, SecretKey, WebhookId, Rechnungskauf-Freigabe und Händlerkennung. Danach ist eine neue Verbindung nötig.
  • modus Betriebsmodus: 1 steht für Live, 0 für Sandbox. Beim Wechsel werden Token zurückgesetzt.
  • merchant_id HändlerId: PayPal-Händlerkennung aus dem Onboarding. Das Feld ist deaktiviert.
  • clientid und secret: REST-Zugangsdaten aus dem Onboarding. Beide Felder sind deaktiviert.
  • webhook_id: PayPal-Webhookkennung. Fehlt der Wert oder ändert sich die Abo-Einstellung, versucht das Modul beim Speichern einen neuen Webhook anzulegen.
Wichtig: Live- und Sandbox-Daten dürfen nicht gemischt werden. Nach einem Moduswechsel zuerst speichern, danach Verbindung und Webhook prüfen.

Anzeige und Zahlungsarten

Der Bildertyp und jede Zahlart werden im gleichen Formular gepflegt. Jede Zahlart besitzt einen Aktiv-Schalter, eine Bezeichnung und ein Bildfeld.

GruppeBackend-FelderWirkung
Bildertypimage_typSteuert, ob eigene Bilder oder PayPal-Icons verwendet werden.
PayPal-Zahlartenpayment_sepa, payment_paylater, payment_card, payment_puiLastschrift, Später bezahlen, Kreditkarte und Rechnungskauf. Rechnungskauf wird nur aktivierbar, wenn PayPal die Fähigkeit PAY_UPON_INVOICE für das Händlerkonto aktiv meldet.
Alternative Zahlartenpayment_giropay, payment_bancontact, payment_blik, payment_eps, payment_ideal, payment_mybank, payment_p24Aktiviert länderspezifische PayPal-Zahlarten. Das Backend zeigt die hinterlegten Länder pro Methode an.
Warenkorb-CheckoutbasketcheckoutBlendet PayPal bereits im Warenkorb ein und ermöglicht den Express-Einstieg vor dem klassischen Checkout.
Abo-CheckoutsubscriptioncheckoutAktiviert PayPal für Abonnements. Das Feld ist deaktiviert, wenn das Abo-Modul nicht aktiv ist.
Button-Stil im Warenkorbaddition_button_style_basketFreitextfeld für zusätzliche Style-Parameter des PayPal-Buttons im Warenkorb.

Die aktivierten PayPal-Zahlarten sind weiterhin von PayPal-Freigaben, Land, Käuferdaten, Warenkorb und Shop-Kontext abhängig. Das Backend kann daher eine Methode aktiv speichern, ohne dass PayPal diese in jedem Checkout-Kontext anbietet.

Status und Rechnung

FeldZweck
order_status_okBestellstatus nach erfolgreicher Zahlung für normale PayPal-Zahlungen.
order_status_ok_puiBestellstatus nach erfolgreichem Rechnungskauf.
order_status_errorBestellstatus bei fehlgeschlagener PayPal-Zahlung.
order_status_error_puiBestellstatus bei fehlgeschlagenem Rechnungskauf.
status_ok_createBillÜbergibt an die Checkout-Rechnungslogik, ob nach erfolgreicher Zahlung eine Rechnung erzeugt wird.
status_ok_sendBillÜbergibt an die Checkout-Rechnungslogik, ob die erzeugte Rechnung versendet wird.

Beim Speichern werden die verschachtelten Zahlart-Felder serialisiert. Wenn ein Webhook fehlt oder die Abo-Einstellung geändert wurde, löscht das Modul vorhandene Webhooks und erstellt einen neuen Webhook für die Shop-URL.

Webhook-Ereignisse

Der Standard-Webhook umfasst Checkout- und Capture-Ereignisse für abgeschlossene, erstattete, rückgebuchte, abgelehnte, offene und abgeschlossene Captures. Bei aktivem Abo-Checkout ergänzt das Modul Abo-Ereignisse für Erstellung, Aktivierung, Aktualisierung, Ablauf, Kündigung, Pausierung, Rückbuchung, Erstattung und fehlgeschlagene Zahlung.

Lokale Umgebung: Wenn die Shop-Adresse lokal läuft, meldet das Modul die Webhook-Erstellung als erfolgreich zurück, ohne einen externen PayPal-Webhook anzulegen.

Checkout-Ablauf

  1. Im Checkout oder im Warenkorb wird PayPal ausgewählt.
  2. Das Modul erstellt eine PayPal-Order mit Intent CAPTURE und passenden Zahlungsquellen.
  3. Bei normalen PayPal-Zahlungen wird die Bestellung mit PayPal verbunden und danach gecaptured.
  4. Bei Rechnungskauf prüft das Modul zusätzliche Kundendaten wie Telefonnummer und Geburtsdatum. Fehlende Pflichtdaten können einen Zwischenschritt auslösen.
  5. Alternative Zahlarten werden über die jeweilige PayPal-Zahlungsquelle erzeugt und können eine Weiterleitung zum externen Zahlungsweg auslösen.
  6. Nach Rückmeldung verarbeitet das Modul Status, Zahlungsdaten, Rechnungserstellung, Rechnungsversand und Bestellstatus nach den hinterlegten Feldern.

Bestellansicht und Rückzahlung

In der Bestellung zeigt PayPal Transaktionsdetails an, wenn Zahlungsdaten zur Bestellung gespeichert sind. Das Backend fragt dazu die PayPal-Order ab und zeigt Status, Transaktionsart, Zeitpunkt, Transaktionskennung, Betrag, Währung, Gebühr und Nettobetrag.

  • Rückzahlung senden: Die Aktion erscheint bei Captures, die weder vollständig erstattet noch ausstehend sind.
  • amount: Pflichtfeld im Rückzahlungsdialog. Der Wert muss mindestens 0.01 betragen und darf den noch verfügbaren Rückzahlungsbetrag nicht überschreiten.
  • Erfolg: Nach erfolgreicher Rückzahlung schließt das Modal und zeigt eine Erfolgsmeldung.
  • Fehler: Bei Ablehnung bleibt das Formular geöffnet und zeigt die PayPal-Fehlermeldung.

Logs und Prüfung

PayPal stellt einen Admin-Logviewer für tägliche Checkout-Logs bereit. Die Loganzeige verwendet den Prefix ppcheckout, zeigt Textdateien aus dem Logbereich und maskiert Secrets sowie Tokens zusätzlich.

  • Nach einer neuen Verbindung prüfen, ob HändlerId, ClientId, SecretKey und WebhookId gefüllt sind.
  • Nach Aktivierung zusätzlicher Zahlarten einen Checkout mit passendem Rechnungsland testen.
  • Nach Änderung der Statusfelder eine Testbestellung inklusive Rechnungserstellung und Rechnungsversand prüfen.
  • Nach Aktivierung des Abo-Checkouts prüfen, ob Webhook und Abo-Ereignisse neu angelegt wurden.

War diese Seite hilfreich?

Hilf uns, das Handbuch weiter zu verbessern. Wenn etwas fehlt oder unverständlich ist, kannst Du direkt einen kurzen Kommentar senden.