Diese Erweiterung findest Du in unserem Shopware Store, der einfachste Weg, ein bestimmtes Plugin zu finden, ist die Suchleiste.
Nachdem Du den Bestellvorgang abgeschlossen hast, logge Dich in das Backend Deines Shops ein. Jetzt gehst du zu Konfiguration > Plugin-Manager > Meine Einkäufe. Du musst dich einloggen und auf die Schaltfläche Aktualisieren klicken. Die neue Erweiterung ist nun aufgelistet und kann installiert werden. Nach der Installation der Erweiterung gehst Du auf den Menüpunkt Installiert und aktualisierst die Übersicht. Jetzt kannst Du die Erweiterung aktivieren. Abschließend löscht Du unter Einstellungen > Cache/Performance > Shop-Cache löschen den Cache und aktualisierst das Backend.
Bitte beachte, dass der technische Name (Feld: "Name") unter Einstellungen > Zahlungsarten
für die Paypal Zahlungsart nicht geändert werden sollte.
Um komplett subshopfähig zu sein, sieht die Konfiguration für einen Sprach- / Subshop eine gesonderte Konfiguration vor. Es ist möglich, alle Dropdown-Einträge aus dem Hauptshop vererben zu lassen, oder sie ggf. neu zu setzen. Unter dem jeweiligen Reiter (1) kannst Du in die Einstellungen der jeweiligen Subshops wechseln und Deine gewünschten Einstellungen vornehmen.
Soll PayPal in Deinen Sprach- oder Subshops nicht eingesetzt werden, trage in die API-Zugangsdaten einfach inkorrekte Daten ein, um die Vererbung zu unterbinden.
Um PayPal Plus nutzen zu können, müssen folgende Voraussetzungen erfüllt sein:
Das Paypal Plus Plugin kannst Du wie gewohnt über den Shopware-Store beziehen.
Die Konfiguration kannst Du über die Plugin-Einstellungen oder die Grundeinstellungen unter Grundeinstellungen > Zahlungsarten > PayPal PLUS vornehmen:
Es ist sehr wichtig, dass für das PayPal Plus Modul der sogenannte 'Webhook' eingerichtet wird. Ansonsten können nachträglich keine wiederkehrenden Zahlungsstatus-Änderungen durchgeführt werden, z.B. wenn eine Zahlung zunächst nur "reserviert" als Status besaß und nach einer gewissen Zeit "Abgeschlossen" gestellt werden soll.
Um diesen Webhook einzurichten, gehe bitte auf developer.paypal.com. Unter "Dashboard" findest Du den Bereich "My Apps and Credentials". Wenn Du aus den dort hinterlegten "REST API Apps" Deine App auswählst, gelangst Du zum Bereich der Webhooks. Zum Hinzufügen des Webhooks, klicke bitte "Add webhook" an.
Eine Webhook URL muss das folgende Format besitzen:
Bei der Einstellung "Event Types" muss darüber hinaus "All events" aktiviert werden.
Die einzelnen Zahlungsarten (Paypal, Lastschrift, Kreditkarte, Kauf auf Rechnung) werden per iFrame im Checkout eingeblendet und ersetzen die in Shopware integrierten Zahlungsarten. Voraussetzung hierfür ist, dass der Kunde in seinem Account "Paypal" als Zahlungsart ausgewählt hat.
Das iFrame unterliegt zusätzlich der Logik, dass es, sofern der Kunde bereits "PayPal" als aktive Zahlart gesetzt hat, auch im "Step 3" des Checkouts angezeigt wird:
Im Sandbox Modus kannst Du mit sogenannten Sandbox-Konten testen. Diese kannst Du auf der Website https://developer.paypal.com/ anlegen. Am einfachsten lässt sich das Modul im ELV-Modus testen. Dazu brauchst Du eine gültige Bankleitzahl und eine beliebige 8-stellige Kontonummer.
Sandbox-Transaktionen werden in einer virtuellen Testumgebung abgewickelt. Es werden also keine echten Konten belastet. Bitte beachte, dass es bei dieser Testumgebung gelegentlich zu Störungen kommen kann.
Transaction refused because of an invalid argument. The transaction id is not valid
Der Zahlungseingang seitens Paypal konnte nicht bestätigt werden. Der Kunde hat die Bezahlung in seinem PayPal-Account vorgenommen, diese konnte aber nicht von Paypal verifiziert werden. Das heißt im Klartext: Paypal kann zum Zeitpunkt des Zahlungsabschlusses im PayPal-Account die Zahlung nicht bestätigen. Gründe hierfür können beispielsweise ein Timeout seitens der PayPal-API, eine fehlende Liquidität seitens des Kontos oder der Kreditkarte sein, von welcher PayPal den Betrag abbuchen will. Es ist auch möglich, dass ein kurzfristiges, technisches Problem seitens PayPal besteht.
Damit ist die Zahlung für Shopware nicht vollzogen. In diesem Fall wird eine ungültige TransaktionsID (der ExpressCheckout-Token) übergeben. Dieser Token beginnt immer mit dem Kürzel EC- und kann unter Kunden->Zahlungen->PayPal eingesehen werden. Da kein Zahlungseingang erfolgt ist, steht der Zahlungsstatus auf Offen. In diesem Fall solltest Du den Zahlungseingang in Ihrem Paypal-Account nochmal überprüfen.
Dem Kunden wird aufgrund der nicht verifizierten Zahlung in seinem Paypal-Account, beim Wechsel zurück in den Checkout-Prozess, von Shopware darauf hingewiesen, dass es seitens PayPal Probleme mit dem Zahlungsabschluss gibt und von PayPal keine gültige TransaktionsID bereitgestellt werden konnte. In diesem Fall wird dem Kunden folgender Hinweis beim Bestellabschluss angezeigt: "Es ist ein Problem aufgetreten und die Bestellung konnte nicht abgeschlossen werden. Bitte kontaktieren Sie den Shopbetreiber."
Sofern dieses Verhalten nicht gewünscht ist und nicht verifizierte Paypal-Bestellungen gar nicht erst zu Shopware übertragen werden sollen, musst Du die Option "Bestellnummer an Paypal übertragen" deaktivieren. Somit kann bei nicht verifizierten Paypal-Zahlungen kein Bestellabschluss erfolgen, der Kunde wird zurück in den Checkout-Prozess in Shopware geleitet und gebeten eine andere Zahlungsart zu wählen.
Bei fehlerhaften Transaktions-IDs empfehlen wir zuerst den "API-Timeout" zu prüfen. Im Standard ist dieser auf 60 Sekunden gesetzt, hast Du aber eine bedeutend kürzeren Timeout, solltest Du diesen Schrittweise bis auf maximal 120-160 Sekunden erhöhen. Deaktiviere zudem die Option Bestellnummer an Paypal übertragen.
Die API-Zugangsdaten sind nicht korrekt.
Security error. Security header is not valid
Der API-Schlüssel ist nicht korrekt.
Payment has already been made for this InvoiceID
Der Bestellnummernkreis ist zu niedrig / Die Bestellnummern sind in PayPal bereits vergeben.
The field "Shipping Adress State" is required
Bundesländer sind nicht konfiguriert. Für folgende Länder sind diese verpflichtend:
Die Bundesländer kannst Du in den Ländereinstellungen im Backend von Shopware konfigurieren.
Die Option "Zahlungen nur autorisieren" ist aktiv, aber nicht für den PayPal Händler-Account freigeschaltet.
Die Option "Zahlungsvereinbarung treffen" ist aktiv, aber der PayPal Händler-Account ist dafür nicht freigeschaltet.
Operation timed out after 5000 milliseconds with 0 bytes received
Der Fehler tritt immer dann auf, wenn in der php-Konfiguration kein gültiges curlopti_timout gesetzt wurde.
Hier findest Du eine Auflistung aller von PayPal ausgegeben Fehlercodes. Diese Codes werden als Fehlermeldungen über das PayPal-Plugin im Backend von Shopware ausgegeben. Bitte beachte, dass es sich bei diesen Error-Codes um Fehler handelt, die von Paypal zurückgegeben werden und nicht von Shopware stammen.
Diese Meldung auf der Checkoutseite im Frontend erscheint immer dann, wenn der genutzte PayPal Plus- Account von Paypal noch nicht für den Livebetrieb freigeschaltet wurde.
Auch PayPal vererbt wie jedes andere Plugin seine Konfigurationen. Dadurch werden die Zugangsdaten des Hauptshops verwendet, wenn im Subshop nichts anderes eingetragen wurde.
Möchtest Du PayPal nicht in Sprach-/ oder Subshops nutzen, so musst Du in den Zugangsdaten für den entsprechenden Sprach-/ Subshop invalide Daten eingeben. Dadurch wird der Fallback unterbunden und PayPal aufgrund der falschen Daten nicht angezeigt.