Login mit PayPal Express funktioniert nicht

Hallo zusammen,

wir haben heute das Plugin „PayPal Produkte“ installiert und haben jetzt Probleme mit dem Login mit PayPal Express.
Wenn man auf einen „Direkt zu PayPal“ Button klickt, kommt kurz das kleine Fenster, aber es schließt sich wieder nach etwa 2 Sekunden.

Im System-Log steht 

PayPal Products: Could not process express-checkout due to a communication failure {„message“:"Client error response

Die Bezahlung mit PayPal funktioniert, wenn man sich im Shop anmeldet, sowohl mit der Weiterleitung als auch mit dem „In Context Modus“.
Die API Einstellungen werden als korrekt angegeben, der Webhook erfolgreich regisitriert und die Webprofile erfolgreich erstellt.

Plugin: PayPal Produkte 1.0.0
Shopware 5.4.2

Ich habe das Plugin schon deaktiviert/deinstalliert/alle Einträge gelöscht und neu eingetragen/ auf developer.paypal.com alles überprüft und neu eingetragen…

Ich habe mit Chrome, Firefox, Edge und Chrome mobile getestet.

Hat jemand einen Lösungsvorschlag dafür?

Vielen Dank und Grüße

Yannic Hübner

Hallo Yannic,

könntest du einmal im Verzeichnis shopware-root/var/log schauen? Dort müsste in der entsprechenden Log Datei der komplette Fehler drin stehen. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

Hallo Michael,

hier sind 4 Logeinträge, die zusammengehören sollten. Ich habe heute morgen einen neuen Versuch gestartet.

[2018-06-11 07:55:16] plugin.INFO: PayPal Products: Sending request [POST] to https://api.paypal.com/v1/oauth2/token {“payload”:{“grant_type”:“client_credentials”}} {“uid”:“b509194”}

[2018-06-11 07:55:17] plugin.INFO: PayPal Products: Received data from https://api.paypal.com/v1/oauth2/token {“payload”:"{“scope”:"https://uri.paypal.com/services/paypalhere https://api.paypal.com/v1/payments/.* https://uri.paypal.com/services/applications/webhooks https://uri.paypal.com/payments/payouts https://api.paypal.com/v1/vault/credit-card/.* https://api.paypal.com/v1/payments/refund https://uri.paypal.com/services/reporting/search/read https://uri.paypal.com/services/disputes/read-seller https://uri.paypal.com/services/subscriptions https://uri.paypal.com/services/disputes/read-buyer https://api.paypal.com/v1/payments/sale/.*/refund https://api.paypal.com/v1/vault/credit-card openid https://uri.paypal.com/services/disputes/update-seller",“nonce”:“2018-06-11T05:55:17Zss-dBhkEF3wftoGLb8qP0044RhFb6SzRrk2phkPjXrY”,“access_token”:“A21AAGeDZmZsorf0IT1t_OIvd1dWgC9gGI4DgIseiKIc3enEGwBZRkLsmvHNdQgULgCounzohOpcESfXDaDaV12JP6SakZ5yA”,“token_type”:“Bearer”,“app_id”:“APP-5FK258338B6125804”,“expires_in”:32400}"} {“uid”:“b509194”}

[2018-06-11 07:55:17] plugin.INFO: PayPal Products: Sending request [POST] to https://api.paypal.com/v1/payments/payment {“payload”:"{“intent”:“sale”,“experience_profile_id”:“XP-6D9B-2TWN-JM63-BHU5”,“payer”:{“payment_method”:“paypal”,“status”:null,“external_selected_funding_instrument_type”:null},“transactions”:[{“amount”:{“currency”:“EUR”,“total”:“190.40”,“details”:{“shipping”:null,“subtotal”:“160.00”,“tax”:null}}}],“redirect_urls”:{“return_url”:“https:\/\/shop.beamtec.de\/widgets\/PaypalUnifiedExpressCheckout\/expressCheckoutReturn\/basketId\/express”,“cancel_url”:“https:\/\/shop.beamtec.de\/checkout\/cart”},“create_time”:null,“update_time”:null,“id”:null,“cart”:null,“state”:null}"} {“uid”:“b509194”}

[2018-06-11 07:55:18] plugin.ERROR: PayPal Products: Could not process express-checkout due to a communication failure {“message”:“Client error response [url] https://api.paypal.com/v1/payments/payment [status code] 400 [reason phrase] Bad Request”,“payload”:"{“name”:“VALIDATION_ERROR”,“details”:[{“field”:“transactions[0].amount”,“issue”:“Transaction amount details (subtotal, tax, shipping) must add up to specified amount total”}],“message”:“Invalid request - see details”,“information_link”:"https://developer.paypal.com/docs/api/payments/#errors",“debug_id”:“30a090e72606a”}"} {“uid”:“b509194”}

Ich hoffe, das kann weiter helfen.
Ich konnte zu “Transaction amount details (subtotal, tax, shipping) must add up to specified amount total” leider nichts finden.

Vielen Dank und Grüße
Yannic Hübner

Hallo Yannic,

PayPal überprüft den Betrag der einzelnen Positionen mit dem Gesambetrag. Das muss natürlich zueinander passen. Hast du irgendwelche besonderen Warenkorbpositionen? Vielleicht wird ein Rabatt von einem Plugin nicht berücksichtigt oder ähnliches. Vielleicht passt auch eine Rundung nicht, dafür müsste man aber mal tiefer debuggen, um herauszufinden, was genau übertragen wird.

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 „Gefällt mir“

Hallo Michael,

vielen Dank für deine Antwort.
Ich habe keine anderen Positionen im Warenkorb.
Ich nutze z.B. die Option direkt von der Artikelseite aus mit PayPal Express zu zahlen.
Wir geben alle unsere Preise als Nettopreise an und lassen später je nach Land, Region, Versand und ob eine USt-IdNr. angegeben wurde den Gesamtpreis anzeigen.
Das funktioniert mit einem angemeldeten Benutzerkonto mit PayPal und mit allen anderen Bezahlarten problemlos.
Bei dem identischen Artikel funktioniert PayPal Express aber nicht.
Wir benutzen keine Plugins für Rabatte und haben auch keine allgemeinen/globalen Rabatte eingerichtet.
Das ganze haben wir in Grundeinstellungen -> Shopeinstellungen -> Länder eingetragen.
Bei Grundeinstellungen -> Shopeinstellungen -> Steuern oder Grundeinstellungen -> Shopeinstellungen -> Kundengruppen haben wir nicht verändert/definiert/differenziert.

Wo kann ich nachschauen, was genau an PayPal übertragen wird?
Ich habe im Plugin Fehlermeldung aktiviert und auf erweitert gestellt.

Auch in unserem PayPal Account kann ich leider nichts finden.
Bei developer.paypal.com unter Live API Call History finde ich folgende Meldung, kann aber keine Details öffnen.

 

Viele Grüße,

Yannic

P.S. Sorry für die großen Bilder. Die Veränderung in “Bildeingenschaften” wird scheinbar nicht beachtet.

edit:

Ich glaube ich habe das grundsätzliche Problem gefunden:

[2018-06-11 07:55:17] plugin.INFO: PayPal Products: Sending request [POST] to https://api.paypal.com/v1/payments/payment {“payload”:"{“intent”:“sale”,“experience_profile_id”:“XP-6D9B-2TWN-JM63-BHU5”,“payer”:{“payment_method”:“paypal”,“status”:null,“external_selected_funding_instrument_type”:null},“transactions”:[{“amount”:{“currency”:“EUR”,“total”:“190.40”,“details”:{“shipping”:null,“subtotal”:“160.00”,“tax”:null}}}],“redirect_urls”:{“return_url”:“https:\/\/shop.beamtec.de\/widgets\/PaypalUnifiedExpressCheckout\/expressCheckoutReturn\/basketId\/express”,“cancel_url”:“https:\/\/shop.beamtec.de\/checkout\/cart”},“create_time”:null,“update_time”:null,“id”:null,“cart”:null,“state”:null}"} {“uid”:“b509194”}

Hier sollte so etwas wie 
“transactions”:[{“amount”:{“currency”:“EUR”,“total”:“190.40”,“details”:{“shipping”:null,“subtotal”:“160.00”,“tax”:0.19}}}] für 19 % MwSt. oder
“transactions”:[{“amount”:{“currency”:“EUR”,“total”:“190.40”,“details”:{“shipping”:null,“subtotal”:“160.00”,“tax”:30.40}}}] für den Betrag stehen.

Das wird nicht herangezogen.
Aus welchen Einstellungen zieht PayPal sich das?

Grüße,

Yannic

 

edit 2:

Auch die Versandkosten werden nicht korrekt übergeben. Wir bieten erst ab 250 Euro kostenfreien Versand an.

Grüße, 

Yannic

Hallo Yannic,

da zu dem Zeitpunkt von PayPal Express der Kunde noch nicht eingeloggt ist, können spezielle Länder- oder Kundengruppeneinstellungen natürlich noch nicht exakt festgestellt werden. Man müsste hier mal schauen, wie das Plugin sich die Daten genau zusammen sammelt und ggf. mit welchen Fallbacks gearbeitet wird. 
Könntest du dafür mal ein Ticket anlegen? Mit genauen Angaben der Einstellungen für Länder, Kundengruppen, Versandkosten Regeln und was sonst noch darein spielen könnte. Dann gucken wir uns das noch mal im Detail an, und können ggf. solche Fälle besser abfangen. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 „Gefällt mir“

Hallo Michael,

ich habe ein Ticket eingestellt:
PayPal Ticket

Mit hoffentlich genügend Informationen.

Vielen Dank für deine Hilfe.

Yannic

1 „Gefällt mir“

Hallo

Uns ärgert aktuell das gleiche Problem…Gibt es hier mittlerweile eine Lösung?
Lt.Paypal gibt es dann als tiefgründige Fehlermeldung:
Zitat aus der Mail von Paypal:
Hier ein Beispiel:

“amount”: {
“currency”: “EUR”,
“total”: “117.14”,
“details”: {
“subtotal”: “98.44”
}

Gegenstände 98.44 Euro aber Gesamterkorb 117.14. Ich vermute die Differenz ist das Shipping, welches Sie aber nicht spezifiziert haben und wenn Sie Ihre API Logs betrachten, dann sehen Sie auch die Fehlermeldung von uns die Ihnen sagt bei welchen Versuchen dies der Fall war.

Das Problem tritt aber bei allen Produkten auf, egal ob die mit oder ohne Versandkosten sind

Grüße

Danke, damit kann ich arbeiten.

Die Differenz sind 19% - das Problem ist die Steuer - nicht der Versand.

Da gab es heute eine Anpassung im Plugin: Merge pull request #133 in PLUG_OPEN/swagpaymentpaypalunified from pt… · shopwareLabs/SwagPaymentPayPalUnified@bde47d9 · GitHub

Könntet ihr schon einmal manuell reinpacken und testen.

Wird auch bald im store released.

Das ging jetzt aber fix…da ich keine Ahnung vom Programmieren habe…Wann kann ich mit dem Update des Plugins rechnen?:slight_smile:

Gibt es bereits eine Lösung für dieses Problem für Nicht-Programmierer? 

Nein, denn die Lösung wäre dann ja das Update vom Plugin, aber das gibt es noch nicht. Wobei „Obiges“ ja bereits im aktuellem Pugin verbaut sein dürfte. Denneoch wird es erst mit 1.1.1 wieder weitere Verbesserungen zum Login mit Express geben. Also einfach schonmal auf 1.1.0 aktualisieren.

Hallo,

wir haben hier das gleiche Problem.

Paypal jetzt kaufen wird gedrückt und das Paypalfenster öffnet sich und schließt nach 2 Sekunden wieder.

Shopware 5.5.10
PayPal 2.3.0

API funktionert im Test. Ländereinstellungen sind auch richtig.

Ist das Problem bereits gefixt und funktioniert nur bei uns nicht? Benötige dringend eine Lösung.

Hallo @Branky‍

die hier besprochenen Problematiken wurden eigentlich alle gefixt und es sind uns auch keine Fehlfunkion beim Express Checkout, wie deine beschriebene, bekannt. Kannst du vielleicht mit Hilfe des Artikels Shopware 5 - Tutorials & FAQs - Fehlermeldungen in Shopware debuggen mehr über den Fehler herausfinden? 

Viele Grüße aus Schöppingen

cool Michael Telgmann

Hallo Michael,

vielen Dank für Deine Unterstützung. In den Logdaten ist nichts zu finden. Es wird keine Fehlermeldung aufgezeichnet.

Der Shop ist unter https://www.landwurst-rose-shop.de/ zu erreichen. Unter Präsente habe ich einen Testartikel für 1 € angelegt. Diesen habe ich mehrfach versucht zu bestellen und mit Paypal zu bezahlen. Leider ohne Erfolg. Hast Du noch eine Idee?

Gruß Florian

Update:

Paypal funktionert imWarenlorb nicht, wenn ein Kunde sich angemeldet hat. Ohne Anmeldung funktioniert der „Direkt zu PayPal“ Button.

Hallo Florian,

das ist gewolltest Verhalten. Wenn der Kunde schon ein Konto hat, macht es ja keinen Sinn, wenn er sich per PayPal im Shop einloggt  Wink

Wegem dem Fehler: Schau mal in die Entwickler Konsole deines Browsers, ob da Fehler bei den Requests auftreten. Also wenn sich das PayPal Fenster öffnet und wieder schließt.

Viele Grüße aus Schöppingen

cool Michael Telgmann

Hallo Michael,

vielen Dank. Das klingt logisch :slight_smile:

Kannst Du etwas mit der Fehlermeldung anfangen?

Gruß Florian

ppxo_no_token_passed_to_payment
Object { timestamp: 1566457371311, windowID: "922d046e4b", pageID: "d364b9fa24", prev_corr_ids: "", referer: "www.landwurst-rose-shop.de", host: "www.landwurst-rose-shop.de", path: "/checkout/confirm", env: "production", country: "US", lang: "en", … }
logger.js:63:34
    E logger.js:63
    k logger.js:181
    D logger.js:234
    memoizedToken component.jsx:464
    l promise.js:162
    dispatch promise.js:153
    resolve promise.js:96
    e promise.js:43
    l 1565158023_b99a3672778216e355b959aeda092fbf.js:5
    c 1565158023_b99a3672778216e355b959aeda092fbf.js:5

ppxo_unhandled_error
{…}
​
country: "DE"
​
env: "production"
​
errtype: "[object Error]"
​
host: "www.paypal.com"
​
lang: "de"
​
pageID: "c18c29fe30"
​
path: "/webapps/hermes/button"
​
prev_corr_ids: ""
​
referer: "https://www.landwurst-rose-shop.de"
​
stack: "No value passed to payment\ndecorate/: Object { … }
logger.js:63:34
    E logger.js:63
    k logger.js:181
    D logger.js:234
     setup.js:36
    reject exceptions.js:27
    reject promise.js:122

Error: No value passed to payment
decorate/

 

Guten Tag @Branky‍,

der Fehler ist mir aus der Entwicklung bekannt. Wenn wir weiterhin über Express Checkout sprechen (Im Warenkorb),
gibt es eigentlich nur eine Sache die dort fehlschlagen kann. Das ist der Call zu PayPal.
Wenn du mir einmal deine PayPal logs zeigen könntest: 

/shopware-path/var/log/swag_paypal_dev-Datum.log

Dann kann ich dir bestimmt weiter helfen :slight_smile:

Grüße Sebastian