Paypal Checkout Plugin 4.3.2 und 4.3.3 Abbrüche

Ich traue mich nicht…
Zum. hat der Magnalister Support schnell reagiert.

v 3.0.81

13.10.2022

** All Marketplaces - Order Import - A solution for the problem with duplicated order number, caused by PayPal plugin version 5.0.0*

1 „Gefällt mir“

Wir lassen vorerst auch die Finger davon.

Uns hätte es zumindest Probleme mit dem Pickware POS-Plugin bereitet, dazu aus dem Changelog:

v 5.32.2.0

  • Fügt einen Inkompatibilitätshinweis für die Version 5.0.0 des Plugins „Paypal“ hinzu.

Hallo @sandy42

der Fehler in Kombination mit Pickware POS ist bereits behoben. Wir waren dazu in engen Austausch und haben gestern ein Update herausgebracht.

Viele Grüße aus Schöppingen
Michael Telgmann

Das Vertrauen in „Euch“ und euer „Können“ ist nachhaltig beschädigt, ich denke das ist verständlich.

Der Fehler hätte uns einen Tag lang die Kasse lahmgelegt - nicht hinnehmbar für uns.

Das Drama mit PayPal (und nichts anderes is es), hat, wenn ich das richtig in Erinnerung habe, in meiner Wahrnehmung irgendwann im März angefangen (v4)… ich hatte jedoch wirklich vor, die neue Version zu installieren (mutig, ich weiß), weil, so ein Ding leisten die sich nicht noch mal … jetzt gibt’s schon wieder Updates wg. Fehler (nicht Verbesserungen) … puhh … ich wollt Euch (SW) an dieser Stelle nur mal wissen lassen, dass ihr mich ziemlich ratlos zurücklasst …

1 „Gefällt mir“

Ja, zeitlich kommt das hin.
Bei uns waren es aber nur die Apple Geräte mit Safari, die abbrachen.
Bei uns hat die Cookie-Lösung geholfen, wir haben seitdem keine Abbrüche.

Seit dem neusten Update kommt es bei uns nicht mehr zu doppelten Bestellungen (eine storniert, eine bezahlt) durch den Paypal-Fehler: UNPROCESSABLE_ENTITY.

Neu ist allerdings täglich die Fehlermeldung: „Client error: GET https://api-m.paypal.com/v2/checkout/orders/ resulted in a 404 Not Found response“

Wird PAYMENT_SOURCE_DECLINED_BY_PROCESSOR eigentlich durch das Paypal-Plugin auch so abgefangen, dass der Kunde im Frontend informiert wird, dass er eine anderen (Paypal-) Zahlungsart nehmen soll? Oder bekommt der Kunde nur einen generischen bzw. nichtssagenden Hinweis?

Hallo @kraeft-hude

freu mich zu hören, dass nun keine doppelten Bestellungen vorkommen.

Die anderen beiden Fehler sollten mit diesem Ticket behoben werden Shopware Issuetracker

Viele Grüße aus Schöppingen
Michael Telgmann

Wir haben heute das Update gemacht auf die Plugin Version 5.2. und bekommen jetzt auch bei einigen Bestellversuchen eine 404 Meldung, mit der Meldung „PayPal: Could not get PayPal order due to a communication failure“ zusammen. In dem verlinkten Ticket heißt es allerdings, dass es sich um einen Fehler handelt, der auftritt, wenn der „in-context-mode“ aktiviert ist. Bei uns ist dieser Modus aber nicht aktiviert. (Kein Haken in den Einstellungen bei „In-Context-Modus verwenden:“)

Genauere Beschreibung, falls das irgendwie weiterhilft:

Zwei Testbestellungen nach dem Update haben funktioniert, bei der dritten kamen dann Fehler:

Beim Zahlversuch Schnellbesteller über Kreditkartenzahlung nach Eingabe der Kreditkarteninfos kam eine Bestätigungsaufforderung über Handy. (Diese kam bei den ersten beiden Bestellungen, bei denen es noch funktionierte nicht.) Danach hat sich sich das PayPal-Fenster geschlossen und es kam folgende Meldung:

Wenn man hier auf „‚Weiter“ klickt, gelangt man zurück zur Übersicht, bei der jetzt seltsamerweise der Haken automatisch aktiviert wurde (oben bei AGB und Widerrufsbelehrung) dass man den Newsletter bestellen möcht. Das ist rechtlich etwas bedenktlich … Die beiden Haken bei AGB und sofort Zugang (es handelte sich um einen ESD Artikel) sind dagegen nicht mehr aktiviert:

Bei einem direkt anschließenden Versuch stattdessen über Bankkonto zu zahlen kam folgende Meldung:

MicrosoftTeams-image (5)

Errorlog gibt währenddessen diese zwei Meldungen aus:

PayPal: Could not get PayPal order due to a communication failure

{
  „message“: „Client error response [url] https://api-m.paypal.com/v2/checkout/orders/ [status code] 404 [reason phrase] Not Found“,
  „payload“: „„
}

PayPal: GOT ERROR WHILE REQUEST OF TYPE (GET) TO URL: https://api-m.paypal.com/v2/checkout/orders/

{
  „payload“: „[]“,
  „headers“: „{\“PayPal-Partner-Attribution-Id\“:\“shopwareAG_Cart_Shopware5_PPCP\“,\“Authorization\“:\“Bearer XXXXXXey_4XXXzr2JXXXXXXXXXXXXXXXXXXXXXXXXXXXXXg0XXXg\“,\“content-type\“:\“application\\/json\“}“,
  „exception“: {
    „message“: „Client error response [url] https://api-m.paypal.com/v2/checkout/orders/ [status code] 404 [reason phrase] Not Found“,
    „trace“: „#0 /custom/plugins/SwagPaymentPayPalUnified/PayPalBundle/Services/ClientService.php(160): Shopware\\Components\\HttpClient\\GuzzleHttpClient->get(‚https://api-m.p...‘, Array)\n#1 /custom/plugins/SwagPaymentPayPalUnified/PayPalBundle/V2/Resource/OrderResource.php(68): SwagPaymentPayPalUnified\\PayPalBundle\\Services\\ClientService->sendRequest(‚GET‘, ‚v2/checkout/ord...‘)\n#2 /custom/plugins/SwagPaymentPayPalUnified/Controllers/Frontend/AbstractPaypalPaymentController.php(435): SwagPaymentPayPalUnified\\PayPalBundle\\V2\\Resource\\OrderResource->get(‚‚)\n#3 /custom/plugins/SwagPaymentPayPalUnified/Controllers/Frontend/PaypalUnifiedV2.php(117): SwagPaymentPayPalUnified\\Controllers\\Frontend\\AbstractPaypalPaymentController->getPayPalOrder(‚‚)\n#4 /engine/Library/Enlight/Controller/Action.php(192): Shopware_Controllers_Frontend_PaypalUnifiedV2->returnAction()\n#5 /engine/Library/Enlight/Controller/Dispatcher/Default.php(563): Enlight_Controller_Action->dispatch(‚returnAction‘)\n#6 /engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))\n#7 /engine/Shopware/Kernel.php(202): Enlight_Controller_Front->dispatch()\n#8 /vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(102): Shopware\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#9 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Symfony\\Component\\HttpKernel\\HttpCache\\SubRequestHandler::handle(Object(Shopware\\Kernel), Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#10 /engine/Shopware/Components/HttpCache/AppCache.php(260): Symfony\\Component\\HttpKernel\\HttpCache\\HttpCache->forward(Object(Symfony\\Component\\HttpFoundation\\Request), true, NULL)\n#11 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(420): Shopware\\Components\\HttpCache\\AppCache->forward(Object(Symfony\\Component\\HttpFoundation\\Request), true)\n#12 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(317): Symfony\\Component\\HttpKernel\\HttpCache\\HttpCache->fetch(Object(Symfony\\Component\\HttpFoundation\\Request), true)\n#13 /engine/Shopware/Components/HttpCache/AppCache.php(187): Symfony\\Component\\HttpKernel\\HttpCache\\HttpCache->lookup(Object(Symfony\\Component\\HttpFoundation\\Request), true)\n#14 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(192): Shopware\\Components\\HttpCache\\AppCache->lookup(Object(Symfony\\Component\\HttpFoundation\\Request), true)\n#15 /engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\\Component\\HttpKernel\\HttpCache\\HttpCache->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#16 /home/XXX/www.XXX.de/shopware.php(122): Shopware\\Components\\HttpCache\\AppCache->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#17 {main}“,
    „code“: 404,
    „file“: /engine/Shopware/Components/HttpClient/GuzzleHttpClient.php“,
    „line“: 61
  }
}

Hallo bva,

sehr Interessant. Danke für die ausfühliche Beschreibung! Das könnte hilfreich sein! Ich schaue mir das mal im detail an!

Bei der URL: https://api-m.paypal.com/v2/checkout/orders/

hast du die OrderId entfernt oder war dort keine?

Sollte ja eig. wie https://api-m.paypal.com/v2/checkout/orders/XDadadsad1231312 sein

@d.garding
Danke! Zur URL:
Habe nichts entfernt und gerade noch mal nachgeschaut, bei den URLs im Logfile stehen keine IDs dahinter, also die oben geposteten Meldungen sind vollständig. (Ich habe nur einige Bereiche durch XXXXX… ersetzt, bei denen ich mir nicht sicher war, ob diese sicherheitstechnisch relevant sind.)

Auch hier: Mit Installation der 5.02 und Aktivierung von Express Checkout nun neue Fehlermeldungen im Logfile!!

PayPal: GOT ERROR WHILE REQUEST OF TYPE (POST) TO URL: https://api-m.paypal.com/v1/notifications/webhooks

{
„payload“: „{"url":"https:\/\/www.kabel-schmidt.de\/PaypalUnifiedWebhook\/execute","event_types":[{"name":"*"}]}“,
„headers“: „{"Authorization":"Bearer A21AAN-rgx9gxVHYYcSrkKWxjOadJ4oSvlDVJnxRAXH2MQaYeM0y2TXa3_2aguJasnfI0sfX74N5DXNowbSFAVtGa_RXo0rjg","content-type":"application\/json"}“,
„exception“: {
„message“: „Client error response [url] https://api-m.paypal.com/v1/notifications/webhooks [status code] 400 [reason phrase] Bad Request“,
„trace“: „#0 /custom/plugins/SwagPaymentPayPalUnified/PayPalBundle/Services/ClientService.php(156): Shopware\Components\HttpClient\GuzzleHttpClient->post(‚https://api-m.p…‘, Array, ‚{"url":"https:\\…‘)\n#1 /custom/plugins/SwagPaymentPayPalUnified/PayPalBundle/Resources/WebhookResource.php(64): SwagPaymentPayPalUnified\PayPalBundle\Services\ClientService->sendRequest(‚POST‘, ‚https://api-m.p…‘, ‚{"url":"https:\\…‘)\n#2 /custom/plugins/SwagPaymentPayPalUnified/Controllers/Backend/PaypalUnifiedSettings.php(91): SwagPaymentPayPalUnified\PayPalBundle\Resources\WebhookResource->create(‚https://www.kab…‘, Array)\n#3 /engine/Library/Enlight/Controller/Action.php(192): Shopware_Controllers_Backend_PaypalUnifiedSettings->registerWebhookAction()\n#4 /engine/Library/Enlight/Controller/Dispatcher/Default.php(478): Enlight_Controller_Action->dispatch(‚registerWebhook…‘)\n#5 /engine/Library/Enlight/Controller/Front.php(228): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))\n#6 /engine/Shopware/Kernel.php(188): Enlight_Controller_Front->dispatch()\n#7 /vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(102): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)\n#8 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(453): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Object(Shopware\Kernel), Object(Symfony\Component\HttpFoundation\Request), 1, true)\n#9 /engine/Shopware/Components/HttpCache/AppCache.php(261): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)\n#10 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(238): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)\n#11 /engine/Shopware/Components/HttpCache/AppCache.php(102): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)\n#12 /html/shopware/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))\n#13 {main}“,
„code“: 400,
„file“: /engine/Shopware/Components/HttpClient/GuzzleHttpClient.php",
„line“: 175
}
}

Das macht echt so langsam keinen Spaß mehr :frowning:

Dazu wohl 4 Minuten davor bei der Installation des Paypal Updates diese Core Fehlermeldung im Log:

SmartyException: directory /custom/plugins/SwagPaymentPayPalUnified/Resources/views/frontend/index/index.tpl’ not allowed by security setting in /engine/Library/Smarty/sysplugins/smarty_security.php:381 Stack trace:
#0 /engine/Library/Smarty/sysplugins/smarty_internal_resource_file.php(33): Smarty_Security->isTrustedResourceDir(‚/html/shopware/…‘)
#1 /engine/Library/Smarty/sysplugins/smarty_resource.php(303): Smarty_Internal_Resource_File->populate(Object(Smarty_Template_Source), NULL)
#2 /engine/Library/Smarty/sysplugins/smarty_internal_resource_extends.php(41): Smarty_Resource::source(NULL, Object(Enlight_Template_Manager), ‚/html/shopware/…‘)
#3 /engine/Library/Enlight/Components/Snippet/Resource.php(70): Smarty_Internal_Resource_Extends->populate(Object(Smarty_Template_Source), NULL)
#4 /engine/Library/Smarty/sysplugins/smarty_resource.php(303): Enlight_Components_Snippet_Resource->populate(Object(Smarty_Template_Source), NULL)
#5 /engine/Library/Smarty/sysplugins/smarty_internal_template.php(460): Smarty_Resource::source(NULL, Object(Enlight_Template_Manager), ‚/html/shopware/…‘)
#6 /html/shopware/var/cache/production_202003031106/templates/frontend_KabelSchmidt_de_DE_1_secure/e4/99/00/e49900c052eb3e849e7365f885e775b4b141b033.snippet.index.tpl.php(375): Smarty_Internal_Template->decodeProperties(Array, false)
#7 /engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(161): include(‚/html/shopware/…‘)
#8 /engine/Library/Enlight/View/Default.php(295): Smarty_Internal_TemplateBase->fetch()
#9 /engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(212): Enlight_View_Default->render(Object(Enlight_Template_Default))
#10 /engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(238): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#11 /engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(132): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#12 /engine/Library/Enlight/Event/Handler/Default.php(87): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#13 /engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#14 /engine/Library/Enlight/Controller/Action.php(234): Enlight_Event_EventManager->notify(‚Enlight_Control…‘, Object(Enlight_Controller_ActionEventArgs))
#15 /engine/Library/Enlight/Controller/Dispatcher/Default.php(478): Enlight_Controller_Action->dispatch(‚indexAction‘)
#16 /engine/Library/Enlight/Controller/Front.php(228): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#17 /engine/Shopware/Kernel.php(188): Enlight_Controller_Front->dispatch()
#18 /vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(102): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#19 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(453): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Object(Shopware\Kernel), Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 /engine/Shopware/Components/HttpCache/AppCache.php(261): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#21 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(426): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#22 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(317): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#23 /engine/Shopware/Components/HttpCache/AppCache.php(188): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#24 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(192): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#25 /engine/Shopware/Components/HttpCache/AppCache.php(113): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#26 /html/shopware/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#27

Toll…außerdem wird bei Express Checkout die Bestellnummer bzw. Rechnungsnummer nicht mehr übertragen. Bei normalen Paypal Zahlungen schon. Warenkorb übermitteln hatte ich ausgeschaltet.

Ich finde auch seit dem Update keine Option mehr für Bestellnummer übertragen ein- oder ausschalten. Das gabs doch davor??? Ohne Übermittlung der Bestellnummer ist Paypal uinbrauchbar, da die Buchhaltung die Zahlungen nicht zuordnen kann.

Hallo Matthias3

die Fehlermeldung PayPal: GOT ERROR WHILE REQUEST OF TYPE (POST) TO URL: https://api-m.paypal.com/v1/notifications/webhooks kannst du ignorieren.

Zum Fehler beim Update kann ich gerade nichts zu sagen.

Die Bestellnummer sollte nun immer in allen Zahlarten an PayPal übertragen werden. Darum ist die Option nicht mehr vorhanden

Leider ist „soll“ nicht „wird“. Ich kann gerne geschwärzte Screenshots aus meinem Paypal Account schicken, wo ersichtlich ist, dass die Bestellnummer bei Verwendung von Express Checkout fehlt!

Und Fehlermeldungen, die zum ignorieren da sind, finde ich schon etwas blöd…Aber gut. Wenn ich das weiß ist ja gut.

Hmm…

ich glaube ich habe den Fehler identifiziert. Wenn inContext aus ist kann es hier zu einem Fehlern beim ermitteln der OrderID kommen, da hier nicht berücksichtigt wird welche Zahlart von PayPal genutz wird. Wird mit dem nächsten Patch gefixt sein!

Viele Dank nochmal für deine Hilfe @bva

1 „Gefällt mir“

@Matthias3 Ja… die Fehlermeldungen irritieren etwas, aber die webhooks sind für die neue Integration nicht implementiert. D.h. die Fehlermeldung sagt in diesem Fall nichts aus.

Ich werde mir das Problem mit den Bestellnummern auch einmal ansehen!

Du sagst das ist nur bei ExpressCheckout so!?

Ja. Während Express Checkout aktiv war wurde es bei Kunden die über Ihr Benutzerkonto normal bestellt und bezahlt haben richtig übermittelt.

Was bewirkt die Aktivierung von inContextß Ich habe da bei Versuchen bei mir im Shop keinen Unterschied erkennen önnen :face_with_raised_eyebrow:
Wenn das die Bestellummern zurück bringt aktiviere ich es zusätzlich zu Express Checkout