DARUM gibt es den Paypal Error: Amount cannot be zero

Habe eben mit Paypal gesprochen und der Mitarbeiter sagte mir folgendes: bei verschiedenen Zahlarten wird die Zahlung bzw. der Kunde überprüft und einige Zahlungen stehen auf “offen”. Bekommt man auch eine Mail, dass diese Zahlung offen ist und nicht versendet werden soll.  

Da im Shop eingetragen ist “sofortiger Zahlungsabschluss”, und die Zahlung aber noch offen ist und geprüft wird, ist also keine Zahlung erfolgt. 0 = Zero. Deshalb wird dieser Plugin-Error ausgegeben. 

Lies mir echt keine Ruhe diese Fehlermeldung weil ich die heute bekam, kurz nachdem ich eine Bestellung mit Zahlung “offen” hatte.  Ansonsten habe ich keine Fehlermeldungen mehr seit dem 13.02. wo ich die Zahlungs-ID eingesetzt und die Bestellnummer übergeben deaktiviert habe.

Wünsche allen ein schönes Wochenende.  Wink

Interresanter Ansatz. Würde dass nicht bedeuten, dass es sich bei den Kunden dann um PayPal-Neukunden und oder Lastschrift-Kunden handelt? Bei allen anderen Zahlungsarten erhält man doch diese Art der Mails nicht. Oder?

Ich habe Heute 3 dieser Errors in den Logs. Alle im Abstand von 10 Sek. Die vermeindliche Kundin hat danach (3 Min. später) mit einer anderen Zahlungsart bestellt. Gestern 8 Stück wovon 7 im Abstand von 2 Minuten erfolgt sind. Das schaut mir eher nach einem Kunden aus, der hin und her switcht, weil er die Zahlungsart nicht nutzen kann (oder nicht möchte). Aus welchen Gründen auch immer.

Ich wünsch ebenso ein schönes Wochenende. Smile

Kann sein, dass es neue PP Kunden sind, die wohl noch kein Konto haben und Lastschrift wählen. Gestern rief mich eine Kundin an die nicht per PP bezahlen konnte. Sie meinte das geht irgendwie nicht. Fragte sie was sie denn ausgewählt habe und sie meinte Lastschrift. Ich sagte sie solle dann mal das normale PP auswählen auch dafür bräuchte man kein Konto. Minuten später kam Bestellung von ihr rein mit PP Rechnungskauf bezahlt. 

Auch habe ich ab und an Zahlungen auf offen stehen, die dann aber nach kurzer Zeit auf bezahlt stehen und “keine” Errormeldung. Keine Ahnung wie PP das händelt. So viele Abbrüche habe ich nicht und es gehen mehr PP Zahlungen ein als mit dem alten Plugin. Ich ignoriere ab jetzt Errormeldungen.  Grin

 

1 „Gefällt mir“

Bei uns werden es leider immer mehr Errors.

ich habe eben sogar das PayPal Plugin deaktivieren müssen, da mit aktivem PayPal Plugin kein ändern der Zahlart möglich ist!?

ich befürchte das liegt irgendwie mit unseren Subshops zusammen, wenn wir das Plugin nur für unseren Hauptshop einrichten läuft alles wunderbar!!

Kann das sein? Der webhook wird auch immer nur mit der Domain des hauptshops registriert!?

@artep‍ Kannst Du uns eine direkte PayPal Telefonnummer nennen? Wir werden immer nur per Mail verwiesen.

@artep‍ Kannst Du uns eine direkte PayPal Telefonnummer nennen? Wir werden immer nur per Mail verwiesen.

Die Telefonnummer steht in Deinem Paypalkonto unter Kontakt. Dann mit der Technik verbinden lassen.

1 „Gefällt mir“

Da wir auch immer öfter dieses Problem haben (Seit märz gefühlt noch mehr als sonst) frage ich mich, ob es eine Lösung für das Problem gibt?

Um noch mal auf den Titel dieses Posts Bezug zu nehmen:

WARUM gibt es den Paypal Error?
Szenario bei mir: Es erfolgt keine Zahlung und Status bleibt offen. Seltsamer Weise geht trotzdem die Bestellbestätiung an den Kunden.
Den Fehler konnten ich noch nicht reproduzieren.

plugin.ERROR: PayPal: Could not create payment for plus payment wall 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\":\"Amount cannot be zero\"}],\"message\":\"Invalid request - see details\",\"information_link\":\"https://developer.paypal.com/docs/api/payments/#errors\",\"debug_id\":\"XXXXXXX\"}"} {"uid":"XXXXXX"}

 

Genau das selbe Problem bei uns :frowning: Die Kundin hat seit Januar 2019 165 Abbrüche dieser Art bei PayPal.

Hier die letzten Fehlermeldungen aus dem Log:

[2019-04-20 08:51:45] plugin.ERROR: PayPal: 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“:„Amount cannot be zero“}],„message“:„Invalid request - see details“,„information_link“:„https://developer.paypal.com/docs/api/payments/#errors",„debug_id“:„fdc8344989275“}"} {„uid“:„0b91391“}
[2019-04-20 10:05:39] plugin.ERROR: PayPal: Could not create payment for plus payment wall 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“:„Amount cannot be zero“}],„message“:„Invalid request - see details“,„information_link“:„https://developer.paypal.com/docs/api/payments/#errors",„debug_id“:„b899122918ec4“}"} {„uid“:„18ed941“}
[2019-04-20 10:05:59] plugin.ERROR: PayPal: Could not create payment for plus payment wall 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“:„Amount cannot be zero“}],„message“:„Invalid request - see details“,„information_link“:„https://developer.paypal.com/docs/api/payments/#errors",„debug_id“:„73e5027530bc3“}"} {„uid“:„22daf93“}
[2019-04-20 10:06:02] plugin.ERROR: PayPal: Could not create payment for plus payment wall 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“:„Amount cannot be zero“}],„message“:„Invalid request - see details“,„information_link“:„https://developer.paypal.com/docs/api/payments/#errors",„debug_id“:„e8ef26acd2dac“}"} {„uid“:„abee675“}
[2019-04-20 10:06:04] plugin.ERROR: PayPal: Could not create payment for plus payment wall 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“:„Amount cannot be zero“}],„message“:„Invalid request - see details“,„information_link“:"https://developer.paypal.com/docs/api/payments/#errors",„debug_id“:„5d2e3484ad13e“}"} {„uid“:„eb6e6e3“}
 

Jemand eine Idee was hier los ist oder wie man das beheben kann?

1 „Gefällt mir“

Hab auch zwei Issue Tickets gefunden hierzu:

https://issues.shopware.com/issues/PT-10076?search=Amount%20cannot%20be%20zero&swversion=Not%2520Scheduled%2520%2528Plugin%2529&status=1,3,10001,4,10010,10025,10017

https://issues.shopware.com/issues/PT-9724

1 „Gefällt mir“

Das betrifft uns auch. Der selbe Fehler. 

@purpix schrieb:

Hab auch zwei Issue Tickets gefunden hierzu:

https://issues.shopware.com/issues/PT-10076?search=Amount%20cannot%20be%20zero&swversion=Not%2520Scheduled%2520%2528Plugin%2529&status=1,3,10001,4,10010,10025,10017

https://issues.shopware.com/issues/PT-9PT-97

 Dem Ticket-Status nach zu Urteilen, wird sich Shopwareseitig nicht so schnell was tun.

Hallo zusammen,

ich konnte einen Workflow herausfinden, wie sich der “Amount cannot be zero” Fehler nachstellen lässt. 

  • PayPal Plus ist aktiv
  • Bestellnummer mitsenden ist auch aktiv
  • Bestellung mit PayPal durchführen
  • nach der Bestätigung auf PayPal Seite wird man zurück zu Shopware geleitet und es wird ein execute auf das Payment ausgeführt
  • dabei einen Fehler provozieren, z.B. mit https://developer.paypal.com/docs/api/request-headers/#enable-negative-testing
  • da nun ein Fehler auftritt wird man auf die shippingPayment Seite geleitet
  • hier wiederum versucht das Plugin nun die Payment Wall für PPPlus zu erstellen
  • zu diesem Zeitpunkt existiert aber kein Warenkorb mehr, da durch die Option Bestellnummer mitsenden schon eine Bestellung angelegt und der Warenkorb geleert wurde
  • kein Warenkorb ->  “Amount cannot be zero”

Kann das jemand bestätigen? 

Eine Lösung wäre z.B. nun nicht auf die shippingPayment Seite zu leiten, sondern auf die finish Seite, weil die Bestellung ja schon angelegt ist (s.o.). Dort könnte man dann eine Meldung ausgeben, dass während des Zahlungsprozesses ein Fehler aufgetreten ist. Desweiteren einen Button, um noch mal zu PayPal zu leiten und den Zahlungsprozess noch mal zu triggern. Oder der Kunde soll ich sich beim Shopbetreiber zu melden, um ggf. eine andere Zahlungsart zu nehmen. Was würdet ihr davon halten?

Viele Grüße aus Schöppingen

cool Michael Telgmann

Die Lösung klingt gut. Bitte einbauen.

Weiterhin hatte ich es schon mal in den entsprechenden Tickets erwähnt: Ein solcher Button zum Durchführen der Zahlung, wäre auch in den Bestelldetails (im Shop, im Kundenkonto) eine tolle Idee. Dann könnte man dem Kunden eine sinnvolle E-Mail schicken mit dem Hinweis “Hier können Sie Ihre Zahlung unkompliziert nachholen”.

1 „Gefällt mir“

Hallo Michael,

bei deiner Beschreibung würde, wenn ich das richtig verstehe, dennoch eine Zahlung an PayPal erfolgt sein. Das wiederum findet bei unseren Kunden nicht statt. Die Zahlung kommt definitv nicht an.

 

Viele Grüße

David Schaller

@FFWD‍ Hast Du falsch verstanden. Die Bestellung ist bereits da, die Zahlung aber nicht. Trotzdem landet man auf der finish-Seite und kann vor dort aus die Zahlung abschließen.

Weitere Quelle für „Amount can not be zero“: https://forum.shopware.com/discussion/53205/checkout-trotz-leerem-warenkorb-moeglich-paypal-amount-cannot-be-zero

Der Aufruf von /checkout/shippingPayment mit leerem Warenkorb erzeugt bei mir reproduzierbar den Amount-Zero Eintrag im Plugin-Log.

Ich habe den Fehler auch noch ab und an, aber sehr selten, seit ich die “Bestellnummer übertragen” deaktiviert habe. Diesen Monat 2 Einträge in den Logs.  Es kommt auch, wohl deswegen, keine Bestellung rein die nicht bezahlt ist. 

Schaut doch mal nach ob Ihr in der Grundeinstellung die Zahlungs-ID des neuen Plugins eingetragen habt und deaktiviert mal die Bestellnummer übertragen. Vielleicht reduziert es die Fehlermeldungen. Nach einer Lösung sollte trotzdem weitergesucht werden.

@artep‍ Wird wohl so sein, dass dann weniger Fehlermeldungen erzeugt werden. Meiner Meinung nach maskiert das nur das eigentliche Problem.

Wir haben jetzt auch mal testweise die Übertragung der Bestellnummer deaktiviert, weil es mir einfach auf den Keks geht.

[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann “Michael Telgmann”)‍

Das Problem habe ich schon seit März beim Entwickler Support liegen und in der Diskussion. Es liegt defintiv am Abschluss der Bestellung. Das von dir skizzierte Vorgehen bei einer Fehlerhaften Zahlung ist suboptimal. Wir haben unsere Kunden befragt bei denen der Fehler auftrat. Die überwiegende Mehrheit hat uns mitgeteilt, dass sie bewusst bei PayPal abgebrochen haben weil sie nicht darüber bezahlen wollten.

In meinen Augen wäre die vernünftigste Lösung:

  1. Beim speichern der Order im Plugin wird keine Bestellbestätigungsmail ausgelöst.

  2. Die Ordernumber wird an PayPal übertragen

3.  a) Im Erfolgsfall: Den Execute des PayMents ausführen und jetzt die Bestellbestätigung versenden

3 b) Im Fehlerfall: “Aufräumen” d.H. die Order und ihre Bestandteile löschen, Den Basket wiederherstellen und den Kunden mit einer Fehlermeldung auf die Zahlartseite weiterleiten. Dort soll der Kunde erneut eine Zahlart auswählen.

 

Naja, dann hast du aber Sprünge in den Nummernkreisen der Bestellung, bzw. inkonsistenzen. So wird es ja von anderen Zahlungsanweisen gemacht und führt immer wieder zu Problemen. 

Wenn man keine Bestellung vorher will, kann man ja die Übertragung anschalten und die Transaktionsnummer zur Identifizierung verwenden. Das ist ja der Ablauf den du beschreibst. Anders geht es nur sauber wenn die Bestellung im System bleibt.

 

Wir werden für den Case den Michael beschrieben hat dann eine Zahlung auf der finnish Seite anbieten.