Amazon pay von best it

hallo,

Bei uns im Shop ist mit dem Plugin der Bestellabschluss nicht möglich. Bei Klick auf ‘Zahlungspflichtig bestellen’ kommt man nicht auf die Bestellbestätigungsseite, sondern bleibt auf der letzten Seite des Checkouts, auf der man ‘Zahlungspflichtig bestellen’ klickt.

Wir haben die PhP Version 7.2 

 

Ich habe auch die Analyse im Remote Modus durchgeführt und hier hat alles gepasst. Leider finde ich das Problem nicht und bitte daher um Unterstützung.

Den Fehler können Sie im Live-Betrieb im Moment einfach nachstellen. Shop: www.bio-spielzeug.de

 

Vielen Dank im Voraus.

ich würde ja gerne doch mehr als 30s Ladezeit???

Und amazon ist aktiv??

Der Fehler liegt definitiv im Plug-In und dürfte alle Shops betreffen die Version 8.2.5 verwenden. Da der Fehler keine Meldung im Log auslöst und sich, außer durch nicht beendete Bestellungen und verärgerte Kunden, auch nicht bemerkbar macht, hat das nur bisher niemand bemerkt.

Ich habe dieses Problem vor einigen Tagen an Amazon und BestIt gemeldet. Bei BestIt ist man allerdings der Meinung der Fehler können nicht existieren, denn “… das Plugin wäre mit diesem Fehler niemals durch 5 externe Shopbetreiber, erfolgreich getestet worden” (sic). Ob tatsächlich jemand eine Live-Transaktion mit Version 8.2.5 durchgeführt hat, wollte man mir allerdings nicht beantworten.

Ich kann nur jedem empfehlen, keine unnötigen Updates dieses Plug-Ins zu installieren oder sich einen Zahlungsanbieter zu suchen, der sich tatsächlich darum kümmert und entsprechende Live-Tests durchführt. Es geht schließlich um euer Geld.

Für Interessierte Programmierer:

Der Fehler ist in der Bootstrap.php des Plug-Ins 8.2.5 zu finden. Dort wurde im Abschnitt für den Checkout-Controller, der Code für die Schleife “$action === ‘confirm’” vergessen/entfernt. Wenn man diesen wieder einfügt (zu finden in Version 8.2.4), dann funktioniert das Plug-In wieder.

 

 

 

1 „Gefällt mir“

ich habe 8.2.5 und alles geht.

Also daran kann es nicht liegen.

Und ja ich bekomme täglich Bestellungen mit amazon pay rein.

in den der besreibung wird mySQL 5.6 vorausgesetzt, beimir ist jedoch MySQL 5.7 kann es daran liegen ?

@toysidus‍

Leg einmal 2 Versandarten für das Lieferland an bei dem der Versand nicht funktioniert. Es reicht die Versandart Deutschland zu kopieren und umzubenennen. 

 

Hallo zusammen,

 

vielen Dank für Euren Input. Der Fehler lag tatsächlich im Plugin. BEST IT hat uns geholfen.und die Versino noch einmal in einer Zip-Datei geschickt, die wir eingespielt haben. Dann lief es wieder.

Viele Grüße

 

P.S. Unser Hoset Mittwald, die sich echt top auskennen und immer helfen können hatte folgendes geantwortet:

 

die Ursache liegt scheinbar an dem Amazon Plugin selbst. Wenn man versucht den Kauf abzuschließen wird folgender Request an Amazon geschickt:

https://payments.amazon.de/gp/apa/uedata/258-2942776-6923419?ld&v=0.200655.0&id=VPV28PAPW94BXFG3Z527&ifr=1&sw=1600&sh=900&vw=326&vh=148&m=1&sc=VPV28PAPW94BXFG3Z527&ue=3&bb=35&be=213&pc=225&tc=-327&na_=-327&ul_=-1549360265472&_ul=-1549360265472&rd_=-1549360265472&_rd=-1549360265472&fe_=-325&lk_=-325&_lk=-325&co_=-325&_co=-325&sc_=-1549360265472&rq_=-319&rs_=-44&_rs=8&dl_=-32&di_=215&de_=216&_de=223&_dc=224&ld_=224&_ld=-1549360265472&ntd=-1&ty=0&rc=0&hob=2&hoe=3&ld=226&t=1549360265698&ctb=1&rt=__ld:6-3-1-0-2-6-0&csmtags=merchantId-A23H5N0H79HUPW|not-gogo|fls-eu|adblk_no&viz=visible:3&pty=PyOPApplication&spty=spaWalletWidget&pti=undefined&tid=HETJK3Q78VQS5GDP3ZDK&aftb=1

Dieser wird aber mit einem Fehler 500 zurückgegeben wodurch die Zahlung nicht Verarbeitete werden kann. Hier liegt also entweder ein Fehler des Plugins vor oder die Schnittstelle bei Amazon hat aktuell ein Problem. Ich empfehle Ihnen mit dem Entwickler des Plugins, BestIT Kontakt aufzunehmen da das Problem nur auf deren Seite behoben werden kann. 

dann lies mal im Forum bei BestIt nach.

Mit php7.2 geht es nicht.

Muss php7.0 sein.

@dontaskme schrieb:

Für Interessierte Programmierer:

Der Fehler ist in der Bootstrap.php des Plug-Ins 8.2.5 zu finden. Dort wurde im Abschnitt für den Checkout-Controller, der Code für die Schleife „$action === ‚confirm‘“ vergessen/entfernt. Wenn man diesen wieder einfügt (zu finden in Version 8.2.4), dann funktioniert das Plug-In wieder.

Hi @dontaskme,

Es ist gut, dass Du Dir selber helfen konntest. Das Problem dass Du damit jedoch generierst ist, dass Shopbetreiber ggfls. dies nachahmen und eine absichtlich entferne komponente aus dem Code wieder einfügen und damit zu einem späteren Zeitpunkt Fehler entstehen, die uns zunächst wieder zugeschoben werden. Wenn wir dann feststellen, dass hier manuell eingegriffen wurde - übernehmen wir KEINE Gewährleistung dafür. Mit öffnung des Plugin Codes müssen wir uns also künftig vor jeder Analyse die Mühe machen und feststellen ob der Source Code verändert wurde.

Wir hätten es besser gefunden, wenn Du mit diesem konkreten Ansatz auf uns zugekommen wärest. Wir hätten dann erklären können, dass diese Funktion komplett refaktorisiert wurde. Die einfachere Lösung in diesem Fall wäre es gewesen diesen Fix, der inzwischen in der 8.2.5 enthalten ist, einfach zu übernehmen:

bestitamazonpay/src/.../Subscriber/CheckoutSubscriber.php - Zeile ~209:

vorher: $dispatch = $dispatches[0];
danach: $dispatch = array_shift($dispatches);

Wir Verbesserungsvorschlägen unseres Code sehr offen gegenüber. Wir validieren Vorschläge und können ggfls. auch erläutern wenn wir einen Vorschlag dann doch ablehnen. Wir ziehen es zur Zeit sogar in Erwägung das Repository in unseren GitHub Account zu übertragen und somit Contributoren noch einfacher den Weg zu ermöglichen.

Wer aktuell noch ein Problem mit Versand = 0 hat oder das der Kunde beim Bestellabschluss wieder in den Checkout geführt wird, kann die o.g. Code Zeile im Plugin korrigieren oder die Version 8.2.5 erneut aus dem Store herunterladen. Sie ist auch via eMail unter support@bestit-online.de erhältich und kann einfach über „Manuelle Installation“ im Backend hochgeladen und damit ersetzt werden.

Das php 7 Problem wird mit Version 8.2.6 gelöst. Die Interen Kontrollen dazu sind erfolgreich verlaufen. Die Beta Tester erhalten das PreRelease voraussichtlich Freitag - spätestens Montag. Auch dazu noch eine Information. Wir nehmen gerne interessierte Beta Tester in unserer Liste auf. Wie wir das handhaben, kann man hier nachlesen: Amazon Pay - #259 von bestit - Plugins - Shopware Community Forum

Lasst uns gerne auf dem Weg der eMail wissen wenn es Probleme gibt. »» support@bestit-online.de
Wer ein „perfektes Ticket“ schreiben möchte, sendet am besten eine gute Fehlerbeschriebung und direkt ein DEBUG Logfile mit und erspart uns die ersten zwei bis drei Frage-Antwort-Runden :wink:

Mit _best_en Grüßen aus dem Münsterland

Eurer best it Support

Es ist gut, dass Du Dir selber helfen konntest. Das Problem dass Du damit jedoch generierst ist, dass Shopbetreiber ggfls. dies nachahmen und eine absichtlich entferne komponente aus dem Code wieder einfügen und damit zu einem späteren Zeitpunkt Fehler entstehen, die uns zunächst wieder zugeschoben werden. Wenn wir dann feststellen, dass hier manuell eingegriffen wurde - übernehmen wir KEINE Gewährleistung dafür.

Ich habe den Fehler bereits Tage vorher über euer Ticket-System gemeldet, inkl. des Korrekturhinweises (Ticket 744). Das Ergebnis war, dass man mir mitgeteilt hat, dies könne nicht so sein, weil ja schließlich ganze 5 externe Shops euren Code validiert haben.

Auch Code habe ich hier nicht veröffentlicht, lediglich einen Lösungshinweis. Ich gehe davon aus, dass ein Shop-Betreiber der damit etwas anfangen kann, intelligent genug ist, diesen Code nach dem nächsten Update nicht weiterzuverwenden.

Und zur Gewährleistung: Worin soll die denn bestehen? Zahlt Ihr Unternehmen für die nicht zustande gekommenen Bestellungen oder den Aufwand, welchen ihr, offenbar nicht ausreichend getesteter, Code verursacht hat (übrigens nicht zum ersten Mal)?

Übrigens war ich es auch, der 2016 so lange Amazon genervt hat, bis man dort begriffen hatte, dass das (damals nicht mehr kompatible) Amazon Pay-Plugin nicht zum „Core“ gehörte und sich daher auch nicht von alleine „weiterentwickelt“.