Zum Inhalt

Modul PayPal

Mit dem Modul PayPal bezahlen Ihre Kunden über PayPal. Das Modul nutzt die REST-Schnittstelle von PayPal (Orders API v2): Nach dem Bestellabschluss wird der Kunde zu PayPal geleitet, gibt die Zahlung frei und kehrt in den Shop zurück. Der Shop zieht den Betrag dann sofort ein und verbucht die Zahlung. Über einen WebHook meldet PayPal den Zahlungseingang zusätzlich an den Shop.

Weitere Funktionen wie PayPal Express (Button im Warenkorb) oder die Zahlungsauswahl von PayPal bietet das kostenpflichtige Modul PayPal PLUS.

Voraussetzungen

  • Ein PayPal-Geschäftskonto.
  • Eine App im PayPal Developer Dashboard mit Client ID und Secret.
  • Ein SSL-Zertifikat: Der WebHook muss per HTTPS von außen erreichbar sein.
  • Der Shop darf nicht hinter einem Passwortschutz oder einer Wartungsseite liegen, sonst erreicht der WebHook ihn nicht.

App bei PayPal anlegen

  1. Melden Sie sich im PayPal Developer Dashboard an und öffnen Sie Apps & Credentials.
  2. Wählen Sie oben rechts, ob Sie die Zugangsdaten für Sandbox (Testbetrieb) oder Live sehen möchten. Beide haben eigene Zugangsdaten.
  3. Legen Sie mit Create App eine App an oder öffnen Sie eine bestehende.
  4. Kopieren Sie Client ID und Secret in die Moduleinstellungen.

Die Funktion „Accept Payments“ muss für die App aktiviert sein.

App im PayPal Developer Dashboard

Client ID und Secret der App

Einrichten

Öffnen Sie wpShopGermany → Konfiguration → Module und aktivieren Sie in der Gruppe „Zahlungsarten“ das Modul PayPal. Die Einstellungen sind in Kästen gegliedert.

Moduleinstellungen PayPal

Verbindung zu PayPal

Der Kasten zeigt den Zustand der Anbindung. Er wird bei jedem Speichern neu geprüft.

Anzeige Bedeutung
Umgebung „Live“ oder „Sandbox (Testbetrieb)“.
Zugangsdaten „Keine Zugangsdaten hinterlegt“, „Noch nicht geprüft, bitte speichern“, „Verbindung erfolgreich“ oder „Anmeldung fehlgeschlagen“ mit der Meldung von PayPal.
WebHook „Angemeldet“ oder „Nicht angemeldet“; „Unbekannt“, solange die Zugangsdaten nicht geprüft sind.
Zuletzt geprüft Zeitpunkt der letzten Prüfung.

Zahlungsart im Shop

Einstellung Beschreibung
Bezeichnung Name der Zahlungsart im Frontend und in den E-Mails. Standard: „PayPal“.
Aktiv Nur wenn aktiv, steht PayPal für neue Bestellungen zur Auswahl. Standard: aktiv.
Hinweistext Erklärung, die der Kunde bei der Auswahl der Zahlungsart sieht.
Gebühr/Rabatt Gebühr oder Rabatt für diese Zahlungsart, als Betrag oder in Prozent.
Mehrwertsteuersatz Mehrwertsteuersatz für eine anfallende Gebühr.

Zugangsdaten

Einstellung Beschreibung
Sandbox Modus Im Sandbox Modus werden keine echten Zahlungen ausgeführt. Tragen Sie dann die Sandbox-Zugangsdaten ein. Solange der Modus aktiv ist, warnt die Systemprüfung im Backend.
Client ID Client ID der App aus dem PayPal Developer Dashboard.
Secret Secret der App.

WebHook

Einstellung Beschreibung
WebHook URL Wird vom Modul vorgegeben. Über diese Adresse meldet PayPal den Zahlungseingang an den Shop.
WebHook beim Speichern anmelden Meldet den WebHook beim Speichern bei PayPal an, im eingestellten Modus (Sandbox oder Live). Ein bereits vorhandener WebHook wird um fehlende Ereignisse ergänzt.

Möchten Sie den WebHook selbst anlegen, tragen Sie im Developer Dashboard bei der App unter „Webhooks“ die WebHook URL ein und aktivieren das Ereignis „Payment capture completed“ (PAYMENT.CAPTURE.COMPLETED).

Zahlungsablauf

Einstellung Beschreibung
Betreff der Überweisung Beschreibung der Zahlung bei PayPal, damit der Kunde sie der Bestellung zuordnen kann. Platzhalter sind möglich. Standard: O%order_id% - K%kunde_id%.
Formatierung InvoiceNumber Rechnungsnummer, die an PayPal übergeben wird. Platzhalter sind möglich. Leer wird die ID der Bestellung übergeben.
Währungscode (Standard: EUR) Währung der Zahlung. Weicht sie von „EUR“ ab, weist die Systemprüfung darauf hin.
Sprache im PayPal Interface Deutsch, Englisch oder Französisch.
Zahlung sofort starten Der Kunde wird nach dem Bestellabschluss automatisch zu PayPal weitergeleitet. Sonst klickt er auf der Abschlussseite auf das PayPal-Logo.
Erfolgsseite Seite nach erfolgreicher Zahlung. „Neu anlegen und zuordnen“ legt die Seite „Erfolgreiche PayPal Zahlung“ an.
Fehlerseite Seite bei Abbruch oder Fehler. „Neu anlegen und zuordnen“ legt die Seite „Fehlgeschlagene PayPal Zahlung“ an.

Stornierung bei Statuswechsel

Wechselt eine mit PayPal bezahlte Bestellung in einen der markierten Zustände, wird der Betrag automatisch über PayPal erstattet. Standard: „zurückgezahlt“ und „storniert“. Die Zustände verwaltet das Modul Bestellzustände.

Ablauf im Shop

  1. Der Kunde legt Produkte in den Warenkorb, gibt seine Kundendaten ein und wählt PayPal als Zahlungsart. Ist unter Allgemein die Option „Auswahl der Zahlung/Versandart überspringen wenn möglich“ aktiv, entfällt die Auswahlseite, wenn Zahlungs- und Versandart bereits feststehen.
  2. Nach dem Bestellabschluss erscheint die Abschlussseite mit dem PayPal-Logo. Mit „Zahlung sofort starten“ wird der Kunde automatisch weitergeleitet.
  3. Der Kunde gibt die Zahlung bei PayPal frei und kehrt in den Shop zurück. Der Shop zieht den Betrag ein, setzt die Bestellung auf „Zahlung akzeptiert“ und leitet auf die Erfolgsseite.

Der Link zur Zahlung steht auch in der Bestellbestätigung. Für bereits bezahlte, zurückgezahlte oder stornierte Bestellungen lässt sich keine Zahlung mehr starten.

Im SmartCheckout arbeitet PayPal genauso: Nach dem Absenden der Bestellung folgt die Weiterleitung zu PayPal.

Postleitzahl als Pflichtfeld

Die Postleitzahl sollte unter Kundendaten ein Pflichtfeld sein. Andernfalls weist die Systemprüfung darauf hin.

Bestellverwaltung

In der Bestellansicht zeigt das Modul unter der Zahlungsart die Schnittstelle, den PayPal Status, die PayPal Order-ID und die Transaktions-ID. Mit Status Aktualisieren fragen Sie den aktuellen Stand bei PayPal ab. Zahlungen, die noch über die ältere Payments API v1 angelegt wurden, werden weiterhin abgefragt, verbucht und erstattet.

Alle Rückmeldungen von PayPal stehen im Bestellprotokoll.

Eine ausführliche Anleitung zur Einrichtung finden Sie im Tutorial Konfiguration von PayPal.