Paypal Checkout Fehlermeldung "No route found for"

Hallo zusammen,

ich habe ein Problem mit der Paypal integration. Wir haben das PP-Plugin installiert und uns über Paypal authorisiert. Client-ID und Secret-ID wurden übertragen und beim Klick auf den Button “Zugangsdaten testen” bekomme ich einen Haken.

Wenn ich die Integration im Shop testen möchte, wirft die Seite beim Klick auf “Zahlungspflichtig bestellen” einen Consolenfehler:
 

Failed to load resource: the server responded with a status of 500 ()
/_proxy/store-api?path=%2Fstore-api%2Fv3%2Fcheckout%2Forder:1

Im Log des Shops steht dazu folgende Exception:
 

request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /checkout/confirm/checkout/register"" at /var/www/html/xxxxx.de/vendor/symfony/http-kernel/EventListener/RouterListener.php line 136 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /checkout/confirm/checkout/register\" at /var/www/html/xxxxx.de/vendor/symfony/http-kernel/EventListener/RouterListener.php:136, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0): No routes found for \"/checkout/confirm/checkout/register/\". at /var/www/html/xxxxx.de/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:70)"} []

Habe testweise mal Zahlung per Nachname aktiviert, hier läuft der Bestellvorgang problemlos durch!

Hat jemand eine Idee was das Problem sein könnte?

LG und bleibt gesund

Hallo @rettungjim‍,

kannst du mal versuchen den Cache per CLI zu löschen? (nicht über das Admin Modul!) 
Danach sollte es wieder funktionieren. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 Like

Danke für Deine Antwort, das haben wir gemacht, und es hat auch geholfen. Allerdings haben wir nun ein anderes Problem mit den Paypal Zahlungen. Wir haben bei ca. 80% der Bestellungen nicht den Zahlungsstatus “paid” sondern “in progress” wenn ich in die Bestellung aufrufe und im Reiter Paypal schaue, habe ich folgende Meldung:

"Zahlungsdetails nicht länger verfügbar

Beim Abrufen der Zahlungsdaten von PayPal ist ein Fehler aufgetreten (INVALID_RESOURCE_ID). Wenn du diese Nachricht siehst, handelt es sich vermutlich um eine Zahlung, die mit aktivierter Sandbox angelegt wurde und nun mit Live-Daten abgerufen wurde, oder umgekehrt. Korrigiere deine PayPal-Einstellungen oder lösche Test-Bestellungen aus dem System."

In den Plugin-Einstellungen habe ich die Sandbox-Daten gar nicht geholt, heißt diese sind leer. Der Button “Sandbox aktivieren” ist auch deaktiviert. Wie kann das sein?

Folgende Einstellungen im Plugin sind aktiviert:
Händlerstandort: Deutschland
Zahlungsabschluss: Zahlung sofort abschließen
Warenkorb übertragen: aktiviert
PayPal-Landingpage: Anmeldung
Bestellnummer übertragen: aktiviert

Meine Testbestellungen im Shop laufen normal durch… Im Log des Webserver habe ich allerdings diese Meldung gefunden:
Webserver Access Log:

POST /api/v3/_action/paypal/webhook/execute?sw-token=staD69apr3Vxxxxxxxxxxxxxxxxx HTTP/1.1" 400 130 "-" "PayPal/AUHR-214.0-55xxxxxxx"

swag_paypal_prod-2020-12-29.log
 

[2020-12-29 07:20:34] swag_paypal.ERROR: [PayPal Webhook] Illegal transition "paid" from state "xxxxxxxxxxxxxxxxxxxxxxxxxx". Possible transitions are: [] []
[2020-12-29 10:25:00] swag_paypal.ERROR: Client error: `GET https://api.paypal.com/v1/payments/payment/PAYID-xxxxxxxxxxxxxxxxxxxx` resulted in a `404 Not Found` response: {"name":"INVALID_RESOURCE_ID","message":"The requested resource ID was not found","information_link":"https://developer. (truncated...) The requested resource ID was not found [{"name":"INVALID_RESOURCE_ID","message":"The requested resource ID was not found","information_link":"https://developer.paypal.com/docs/api/payments/#errors","debug_id":"cec521515bbf7"},[]] []

 

Vielleicht hilft das ja?!

Das ist wirklich ärgerlich, da unser Kunde jetzt die Bestellungen abtelefonieren muss…

Vielen Dank für einen Tipp

2 Likes

@Michael Telgmann schrieb:

Hallo @rettungjim‍,

kannst du mal versuchen den Cache per CLI zu löschen? (nicht über das Admin Modul!) 
Danach sollte es wieder funktionieren. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

Hallo! Soll man das nun jeden Tag machen, damit Paypal funktioniert?

Hallo!

Paypal funktionierte nicht, dann habe ich per CLI mit cache:clear den Cache gelöscht.

Dann funktionierte es für die nächsten 3 Bestellungen, dann wieder nicht.

Woran liegt das? Was kann ich machen? Der Shopbetreiber nervt mich verständlicherweise.

Shopware 6 und Paypal-Plugin sind auf dem neusten Stand.

Danke euch!

Der Cache sollte generell einmal täglich via CLI gelöscht werden - wichtig zu wissen wäre also in welchem Abstand der Fehler auftaucht. Ebenfalls wichtig ist, dass Shopware die Bestellung unabhängig der geglückten Zahlung anlegt. Dies kann gerne mal als Fehler missinterpretiert werden.

2 Likes

@kissinger‍ hast Du in Deinem Log auch die Fehlermeldung die ich habe?

Im Moment gehen die Bestellungen alle durch, ohne das ich was geändert habe… Ist schon ein sehr seltsames Verhalten.

1 Like

@AndreHerking schrieb:

Der Cache sollte generell einmal täglich via CLI gelöscht werden - wichtig zu wissen wäre also in welchem Abstand der Fehler auftaucht. Ebenfalls wichtig ist, dass Shopware die Bestellung unabhängig der geglückten Zahlung anlegt. Dies kann gerne mal als Fehler missinterpretiert werden.O

OK, das stelle ich ein. Das die Bestellungen immer angelegt werden ist klar. Falls der Fehler jetzt noch mal auftacuht schaue ich dann auch noch mal nach dem Abstand indem der Fehler auftaucht.

1 Like

Hallo!

“Der Cache sollte generell einmal täglich via CLI gelöscht werden …”

Das ist natürlch recht aufwendig (putty starten, Einloggen, Befehle eingeben …), kann man das irgendwie automatisieren?

Danke!

 

 

Du kannst einen Cronjob anlegen. 

Im Terminal crontab -e dann dort den cli Befehl mit dem kompletten Pfad angeben. Siehe auch z.B. hier:

https://www.stetic.com/developer/cronjob-linux-tutorial-und-crontab-syntax/

1 Like

@rettungjim schrieb:

Du kannst einen Cronjob anlegen. 

Im Terminal crontab -e dann dort den cli Befehl mit dem kompletten Pfad angeben. Siehe auch z.B. hier:

https://www.stetic.com/developer/cronjob-linux-tutorial-und-crontab-syntax/

Habe den CRON-Job eingerichtet, läuft. Hoffe nun dass Paypal klaglos funktioniert.

Danke nochmal! 

Wieso sollte der Cache 1x täglich gelöscht werden? Könnt ihr dies begründen? Wenn ja, wie?

Meiner Meinung nach sollte dies in einer Production-Umgebung auf keinen Fall ständig gemacht werden, wenn du einen performanten Shop haben möchtest.

Außerdem kann es nicht sein, dass PayPal nur dann funktioniert, wenn der Cache 1x täglich gelöscht wird?!