Paypal Express Checkout seit Update 12.07.17 mit Fehlermeldung

Seit dem heutigen Paypal Update kommt nun per Express Checkout Button im Warenkorb folgende Meldung:

SW: 5.2.26
Paypal Version: 3.4.7

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.
Shopware Order Fatal-Error xxxx :SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‚paymentID‘ cannot be null in engine/Shopware/Core/sOrder.php on line 621
Stack trace:

#0 engine/Shopware/Controllers/Frontend/Payment.php(117): sOrder->sSaveOrder()
#1 engine/Shopware/Plugins/Community/Frontend/SwagPaymentPaypal/Controllers/Frontend/PaymentPaypal.php(154): Shopware_Controllers_Frontend_Payment->saveOrder(‚qqjrU81mCknnZSp…‘, ‚qqjrU81mCknnZSp…‘)
#2 engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Frontend_PaymentPaypal->gatewayAction()
#3 engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch(‚gatewayAction‘)
#4 engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#5 engine/Shopware/Kernel.php(182): Enlight_Controller_Front->dispatch()
#6 vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#7 engine/Shopware/Components/HttpCache/AppCache.php(266): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#8 vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#9 vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#10 engine/Shopware/Components/HttpCache/AppCache.php(187): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#11 vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#12 engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#13 shopware.php(117): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#14 {main

Ansonsten wurde nichts geändert, außer das Update von Paypal.

Kurios die „paymentID“ kann nicht null sein?

Wir haben jetzt im Plugin „Bestellnummer an Paypal“ übertragen auf „Nein“ gestellt, somit klappt das erstmal wieder.

Jedoch ist nachdem man auf Express Checkout geklickt hat und dann bei Paypal auf abbrechen zurück zum Shop kommt die Meldung " Sie haben den Bezahlungsprozess abgebrochen. " nun stehen ganz unten und nicht mehr mittig oben im Fenster.

Sieht blöd aus, da der Kunde auf den ersten blick nix sieht und nach unten scrollen muss um das zu sehen.

Und ich hab nen HTTP ERROR 500 nach update des Paypal Plugins - Ich könnte k…zen.

 

Hallo,

habe das Problem mit Paypal Express auch.

Ich hoffe da kommt schnellstens ein neues Update…

 

Ich hoffe da kommt schnellstens ein neues Update…

 

das hoffe ich auch

Hallo zusammen,

danke für den Hinweis! Wir haben den Fehler bereits gefunden und behoben und werden heute noch ein Update herausbringen. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

2 „Gefällt mir“

Danke, läut nach Update wieder.

Hallo,

leider läuft nun nach Update die normale Paypal Zahlung mit Paypal Plus nicht mehr korrekt. Wenn im Plugin von Paypal " “Bestellnummer an Paypal” übertragen auf “Ja” gestellt wird, funktioniert die Weiterleitung bei Auswahl des iFrame Rechnung z.b. nicht korrekt auf die Paypal Rechnungskauf Seite. Man wird auf eine Express Checkout Webseite geleitet und soll sich einloggen. Alles Cache, Cookies, Theme neu gemacht, geht trotz dessen nicht. Erst wenn n im Plugin von Paypal " “Bestellnummer an Paypal” übertragen auf “nein” gestellt wird, klappt alles korrekt. Versteh sowieso nicht dieses “Bestellnummer an Paypal” senden.

Bitte um Prüfung.

Aus irgendeinem Grund geht jetzt alles wieder. Hab aber die Option „Bestellnummer an Paypal“  jetzt mal in allen Shops deaktiviert, scheinbar liegt hier die Krucks.

Eine Frage: Wieso habt ihr die Option aktiviert? Im Tooltip neben der Option steht hierfür ein Hinweis.

@AndreHerking schrieb:

Eine Frage: Wieso habt ihr die Option aktiviert? Im Tooltip neben der Option steht hierfür ein Hinweis.

Das habe ich mich natürlich die ganzen Jahre auch gefragt, warum diese Option bei uns aktiviert gewesen ist. Ist im Standard schon immer so gewesen, hatte auch nie Probleme bereitet, also war es so, nur irgendwie scheint es jetzt damit Probleme zu geben.

Also deaktiviert und wir schauen uns das bei den nächsten Bestellungen mal an wie es nun läuift.

So, leider heute auch wieder das Problem, wählt der Kunde im Shop bei Paypal Plus Kauf auf Rechnung wird er zum Paypal Express Checkout mit Einloggen in Paypal weitergeleitet URL: https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout…, anstatt zum Kauf auf Rechnung Formular. Erst nachdem ich Paypal Express im Warenkorb und in der Modalbox deaktiviert habe, Cache gelöscht geht die Weiterleitung normal auf das Kauf auf Rechnung Formular mit der URL: PayPal… Hier stimmt irgendwas mit der Weiterleitung nicht.

So, ich habe heute morgen den Paypal Expresscheckout in beiden Warenkörben mal deaktivert, bis jetzt klappen die Weiterleitungen problemlos entweder auf KK, Lastschrift, Kauf auf Rechnung mit dem XOONBOARDING in der URL und auch normaler Kauf mit Paypal klappt ohne Probleme. Ich werde das jetzt mal schauen ob morgen früh es immer noch klappt. Ich vermute hier liegt was mit der Weiterleitung mit Express Checkout im argen die sich manchmal dann einschleicht, weil dann nur noch weiterleitungen auf den Express Checkout gehen wenn es spinnt.

So, mit deaktiviertem Express Checkout im Warenkorb heute morgen keine Probleme aufgetaucht. Zahlungen gehen an die richtigen Adressen zu Paypal. Ich vermute hier liegt ein Problem mit Express Checkout im Warenkorb vor, dass manchmal dann an die Express Checkout Webseite weitergeleitet wird, anstatt auf Kreditkarte wie ausgewählt.

Bitte um Prüfung, da Express Checkout seit dem wir es aktiviert hatten gut genutzt wurde, jedoch das normale Paypal und KK usw. nicht mehr funktionierte.

Kann ich so nicht nachstellen @matthiasftl‍ - sicher, dass du nicht einfach nur eine defekte Sitzung hast? Wichtig ist, dass du deine Session komplett löscht (Google Dev Console -> Application -> Cookies) und im Anschluss erneut eine Bestellung durchführst. Bei mir wird mit und ohne PP Express die korrekte Weiterleitung durchgeführt.

Erfahrungsgemäß sorgen Drittanbieterplugins welche (unbewusst) die PP Plus iFrame beeinflussen für die falsche Weiterleitung - hier mal am Besten alles ausschalten.

Ich hatte beim Test bei uns im Shop danach mal alle Cookies gelöscht vom Shop und von Paypal und wurde dennoch immer auf die Paypal Express Checkout Webseite geleitet, erst nach dem ich den SW Cache gelöscht hatte ging es wieder.

Ein Plugin welches den PP Plus Iframe beeinflusst haben wir nicht

Problem ist, dass es auch Kunden aufgefallen ist und ich live sehen konnte auf welche Webseiten Sie geleitet wurden und mit auch per Nachfrage bestätigt hatten, dass die Zahlung nicht klappte.

Ich weiß, schwieriges Problem, weil es so auch nicht nachstellbar ist und auch eine Zeit lang funktioniert. Ich möchte nur ungern bei uns im Live Shop jetzt experimentieren um den Fehler nachzustellen, weil ich weiß, dass seit Expess Checkout aktivierung im Warenkorb das Problem anfing.

Vielleicht finde ich noch eine Lösung

Im Log steht dann folgendes:

 

[2017-07-20 11:37:02] plugin.ERROR: An error occurred on creating a payment: Client error response [url] https://api.paypal.com/v1/payments/payment [status code] 400 [reason phrase] Bad Request {“exception”:"[object] (GuzzleHttp\Exception\ClientException(code: 400): Client error response [url] https://api.paypal.com/v1/payments/payment [status code] 400 [reason phrase] Bad Request at /var/www/vhosts/xxxx/engine/Shopware/Plugins/Community/Frontend/SwagPaymentPaypalPlus/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:89)",“response”:"[object] (GuzzleHttp\Message\Response: HTTP/1.1 400 Bad Request\r\nDate: Thu, 20 Jul 2017 09:37:02 GMT\r\nServer: Apache\r\nPaypal-Debug-Id: f7796a2383b21, f7796a2383b21\r\nContent-Language: *\r\nConnection: close\r\nHTTP_X_PP_AZ_LOCATOR: phx02.phx\r\nSet-Cookie: X-PP-SILOVER=name%3DLIVE3.API.1%26silo_version%3D880%26app%3Dapiplatformproxyserv%26TIME%3D3195629657%26HTTP_X_PP_AZ_LOCATOR%3Dphx02.phx; Expires=Thu, 20 Jul 2017 10:07:02 GMT; domain=.paypal.com; path=/; Secure; HttpOnly, X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\nVary: Authorization\r\nContent-Length: 251\r\nContent-Type: application/json\r\n\r\n{“name”:“VALIDATION_ERROR”,“details”:[{“field”:“transactions[0].amount”,“issue”:“Amount cannot be zero”}],“message”:“Invalid request - see details”,“information_link”:"https://developer.paypal.com/docs/api/payments/#errors",“debug_id”:“f7796a2383b21”})"} {“uid”:“1af1e3d”}

[{“field”:“transactions[0].amount”,“issue”:“Amount cannot be zero”}],“message”:"Invalid request

Die Fehlermeldung sagt, dass hier ein Warenkorb mit 0€ Summe an PayPal übergeben werden sollte. Das geht natürlich nicht, vielleicht hilft dir das bei der Analyse weiter.

Das habe ich auch in der Fehlermeldung gesehen, nur kurios, da ich selbst die Testbestellung durchgeführt habe und der Warenkorb voll war und anstatt auf das Kauf auf Rechnung Formular geleitet zu werden auf die Express Checkout Webseite von Paypal gekommen bin.

Kurios alles, zumal heute alles glatt läuft seitdem ich Express Checkout nicht mehr im Warenkorb habe.

@AndreHerking schrieb:

[{"field":"transactions[0].amount","issue":"Amount cannot be zero"}],"message":"Invalid request

Die Fehlermeldung sagt, dass hier ein Warenkorb mit 0€ Summe an PayPal übergeben werden sollte. Das geht natürlich nicht, vielleicht hilft dir das bei der Analyse weiter.

Hallo Andreas,

die entscheidende Frage ist aber doch, warum das Plugin überhaupt einen API-Request an Paypal in diesem Moment absetzt.  Bei einem 0 Euro Warenkorb  müsste eigentlich das Error-Handling des Plugins vorher greifen. 

Der Fehler tritt mit dem PPlus sporadisch in den Logs verschiedener Shops auf.