PayPal E-Mail Zahlungsstatus-Änderung

Hallo,

seit dem Update auf PayPal 4.2.0 (Shopware 5.7.11) wird für jede erfolgreiche PayPal-Zahlung eine Statusänderungs-Mail versendet. Wir finden diese reichlich überflüssig und fragen uns, wie wir das deaktivieren können.
Hat jemand eine Idee?

Hey @Mooogli!
Ein Kunde von uns hat ein identisches Problem, auch schon mit vorheriger Version des PayPal-Plugins.

Die Bestellungen stehen mit Bestellnummer in der Datenbank, haben allerdings den Status „-1“. Dieser steht für abgebrochene/nicht abgeschlossene Bestellungen.

Auffällig ist, dass diese „falsche“ Kombination (vergebene Bestellnummer und Status -1) ausschließlich mit der Zahlungsart PayPal vorkommt.
Meine Vermutung ist daher auch, dass das PayPal-Plugin dieses Verhalten hervorruft und ggf. NACH Erstellung der Bestellung (Bestellnummer setzen und Config-Seite anzeigen) und Mail-Versand den Status wieder ändert.

Toll ist das leider nicht und maximal verwirrend. Weiterhin kann dieser wilde Statuswechsel auch für Bestandsinkonsistenzen in PICKWARE sorgen.

Hast Du hierzu schon ein Ticket eröffnet?
Dieses hier: Shopware Issuetracker könnte ein ähnliches Verhalten nennen.

Danke!

Edit: Das Problem ist hier scheinbar beschrieben: Paypal Plugin 4.1.4 - Paypal Checkout

Hallo, ich finde in dem oben verlinkten Beitrag leider nicht die Lösung für das Issue … von daher auch von mir noch mal die Frage, wie man den automatischen Mailversand („Ihre Bestellung wurde bezahlt“) abstellen kann? So ein Zirkus mit dem PayPal-Plugin … sorry …

Für das eingänglich beschriebe Verhalten ist die folgendes Feature verantwortlich, welches in Version 4.2.0 neu hinzugekommen ist: PT-12776 „Status emails should be send to customers, if the plugin changes a status“ Shopware Issuetracker

Insbesondere die „ist komplett bezahlt“-E-Mail ist in unserem Fall überflüssig.

Folgende Optionen sehe ich:

  • Deaktivierung aller E-Mails vom Typ „sORDERSTATE12“ seitens Shopware
  • Konfiguration im PayPal-Plugin

An den vorgefertigten E-Mail-Vorlagen von Shopware lässt sich scheinbar nichts drehen, auch lassen diese sich nicht umbenennen oder deaktivieren.
Im PayPal-Plugin finde ich keine Konfigurationsmöglichkeit.

Hat jemand eine andere Idee?

Lösung gefunden:

Nach Analyse der Änderungen wird klar, wieso die E-Mail verschickt wird. Bisher wurde der Zahlungsstatus direkt in der Datenbank aktualisiert. Mit Version 4.2.0 wird dieser über die interne Shopware-API gesetzt:

Die Signatur dieser Funktion lautet:

public function setPaymentStatus($orderId, $paymentStatusId, $sendStatusMail = false, $comment = null)

Somit sorgt das Argument true dafür, dass die Zahlungsstatus-E-Mails versendet werden. Um dieses Verhalten zu ändern, das Argument auf false setzen, und zwar in der Datei

custom/plugins/SwagPaymentPayPalUnified/Components/Services/PaymentStatusService.php

in Zeile 183.

Idealerweise könnte man diese Einstellung per Häkchen im Backend ändern.

1 „Gefällt mir“

Seit Version 4.2.2 vom 15.07.2022 soll nun das besagte Häkchen im Backend existieren:

„PT-12824 - Status-E-Mail-Versand ist nun abhängig von den Einstellungen in der Datenbank“

Das spiegelt sich auch im Code wieder. Jedoch habe ich die Einstellung weder im Backend, noch in der Datenbank direkt gefunden.

Kann mir hier jemand auf die Sprünge helfen - wo stelle ich ein, ob E-Mails bei Änderung eines Zahlungsstatus gesendet werden?