Amazon Pay & Login 4 OXID by BESTIT funktioniert nicht

Hallo!

Ich wollte das o. g. Modul in meinem Shop in Betrieb nehmen und habe es nicht hinbekommen. Ich setze OXID 4.10.3 CE mit dem Roxive-Template 1.5.14 ein. Unter den Versandarten ist die Zahlungsart eingetragen und das Modul ist korrekt konfiguriert (weiß ich weil ich es in einem anderen Shop schon mal eingebunden habe, dort war das Modul allerdings noch von der Jankowfsky AG in der Version 2.3.0).

Aktuell setze ich die Version 2.4.0 des Moduls ein und es erscheint weder ein Button im Warenkorb noch ist die Zahlungsart beim Bezahlvorgang sichtbar. Ich habe einfach keine Idee woran es noch liegen könnte und wäre sehr dankbar falls Jemand einen Tip für mich hat.

Danke und viele Grüße

-2fast4you-

[QUOTE=2fast4you;187557]Ich setze OXID 4.10.3 CE[/QUOTE]

Ich kenne das Modul nicht, aber

Kompatibilität PE 4.7.x

hast Du gelesen?

Im Zweifel frag den Modulentwickler ob das überhaupt mit der 4.10.x funktioniert.

Danke für die Antwort. Habe beim Hersteller nachgefragt, das Modul ist kompatibel. Allerdings wurde ich gefragt ob ich notwendige Blöcke ins Template eingefügt habe. Allerdings wurde mir nicht mitgeteilt welche Blöcke das sind. Ich habe den Support nochmal angeschrieben und seit dem leider noch keine Antwort bekommen.

Ich habe mir mal die Systemgesundheit angeschaut und dort wird unter fehlende Modulblöcke im Template folgendes aufgeführt:

Modulename Blockname Template Dateiname
bestitamazonpay4oxid mb_basket_btn_next_bottom page/checkout/basket.tpl
bestitamazonpay4oxid mb_select_payment page/checkout/payment.tpl

Kann mir Jemand beantworten wie ich damit umgehen muss bzw. wie die einzufügen sind?

Danke und viele Grüße

Das betrifft das reine “mobile” Template, das für gewöhnlich neben Azure läuft. Solange dieses nicht aktiviert ist, muss die Anzeige dieser beiden Dateien nicht beachtet werden.

Bei uns sind wir gar nicht so weit gekommen - hatten das metadata.php Problem bzw. der Shop hat immer die Startseite mit redirect=1 umgeleitet und die CSS war zerballert.

Läuft es denn bei jemand!?

Wir haben die letzte Version von jankowfsky AG, bevor das Modul in Best IT umgelabelt wurde. Funktioniert einwandfrei. Mit der allerneusten Version noch nicht versucht.

Das neue Modul kann angeblich [B]Fremdwährungen[/B]. GBP, US, DKK usw.
Ansonsten würde ich mir den Umbau nicht antun :wink:

Laut BestIT soll das Modul mit CE 4.10.x gehen. Nur verstehe ich den Unterschied zwischen AmazonPay4OXID und eben AmazonPay nicht!?

http://cdn.bestit-online.de/oxid_store/AmazonPay/Dokumentation_AmazonPay_OXID.pdf

Hi,

das Modul kommt mit der 4.10.6 am 2. November. Hast Du so lange Zeit? ^^

Gruß

[QUOTE=Marco Steinhaeuser;190160]Hi,

das Modul kommt mit der 4.10.6 am 2. November. Hast Du so lange Zeit? ^^

Gruß[/QUOTE]

Hm!? Das Modul gibt es ja schon. Nur ist es nicht mit 4.10.5 kompatibel oder wie darf man das verstehen? (gab es deshalb bei mir auch die metadata.php Fehler?)

Das Modul wird mit der 4.10.6 so ausgeliefert, dass es nur noch aktiviert werden muss, wenn man es benutzen möchte. Das heisst, es funktioniert :wink:

Gruß

Ich häng mich hier einfach mal dran …

Wir machen gerade ein Upgrade von 4.10.5 auf 4.10.6 und wollen das bestit amazon-Modul nutzen. Einstellungen: Sandbox-Modus, Autorisierung synchron, Statusupdates per cron, Capture nach Versenden.

Konkret ist das Problem, dass alles funktioniert bis zum cronjob. Wenn er dort versucht zu Capturen, kommt es zu einem Fehler.

Amazon-Sandbox meldet:

<Code>InvalidParameterValue</Code>
<Message>1 validation error detected: Value null at 'amazonAuthorizationId' failed to satisfy constraint: Member must not be null</Message>

Wenn man sich dann mal die Methode bestitAmazonPay4OxidClient::capture anschaut (übrigens genial die MacOS-Line-Endings, wenn man unter Linux arbeitet), sieht man, dass dort irgendwie nicht die Parameter verwendet werden, die laut amazon beim Capture erwartet sind (vgl. https://pay.amazon.com/us/developer/documentation/apireference/201752040).

Da wird amazon_order_reference_id übergeben, amazon braucht aber bei capture die amazon_authorization_id.

Also folgender Patch:

 diff --git a/modules/bestit/amazonpay4oxid/application/models/bestitamazonpay4oxidclient.php b/modules/bestit/amazonpay4oxid/application/models/bestitamazonpay4oxidclient.php
index dd1279c..f9d97f1 100644
--- a/modules/bestit/amazonpay4oxid/application/models/bestitamazonpay4oxidclient.php
+++ b/modules/bestit/amazonpay4oxid/application/models/bestitamazonpay4oxidclient.php
@@ -708,7 +708,7 @@ class bestitAmazonPay4OxidClient extends bestitAmazonPay4OxidContainer
             $oOrder,
             $aRequestParameters,
             array(
-                'amazon_order_reference_id',
+                'amazon_authorization_id',
                 'capture_amount',
                 'currency_code',
                 'capture_reference_id',

Dann läuft auch das Capture durch. Ich vermute mal, dass es nicht nur in der Sandbox so ist, sondern auch im Produktivmodus ?

Also - nein, läuft unter 4.10.6 nicht out-of-the-box ohne Probleme, zumindest mal nicht so wie wir es nutzen wollen (und das ist ja auch die Defaulteinstellung).

Danke @jhelf, ich reiche das mal weiter.

Hallo,

Version 2.5.1, welche das Problem behebt ist jetzt über den OXID eXchange verfügbar: https://exchange.oxid-esales.com/de/Bestellprozess-und-Versand/Bezahlung/AmazonPay4OXID-Modul-2-5-1-Stable-EE-PE-4-10-x-5-3-x-5-3-x.html

Moin,
auch ich habe gerade arge Probleme, das Modul zum Laufen zu bekommen, und zwar z.b. mit OXID 4.10.8 und dem Best It-Modul in Version 3.2.1 oder darunter ab 2.6.0. Kann mir bitte jmd. kurz diese Fehlermeldung erklären:

Amazon Pay hat Ihre Zahlung abgewiesen, bitte verwenden Sie eine andere Zahlungsart.

Nur ist Amazon an dieser Stelle noch gar nicht wirklich im Spiel, denn es tritt dann auf, wenn ich als normaler Kunde (ohne Amazon-Login), von der Payment-Seite (mit gewähltem Amazon-Pay) auf die Bestellübersicht will. Das klappt nicht, sondern es gibt einen Rücksprung zum Warenkorb mit dieser Meldung da drüber, weil die “amazonOrderReferenceId” nicht gesetzt ist (aber wo soll die an der Stelle herkommen). Ich meine, das müsste doch möglich sein, oder habe ich da einen Denkfehler? Entweder man ist Neukunde und nutzt den Amazon-Button ODER man ist bereits Kunde und kann aber trotzdem per Amazon zahlen, oder ist das doch voneinander abhängig? Dann würde Amazon Pay als Zahlungsart aber irgendwie sinnlos sein, aber das ging vorher jahrelang mit einem Uralt-Modul v1.0.4 (jag).

die Ursache ist schwer zu bestimmen, weil in dem Modul mehrere Fehlerquellen an einer Stelle abgefangen werden:
modules/bestit/amazonpay4oxid/ext/bestitamazonpay4oxid_oxorder_oxid5.php
Funktion _callSyncAmazonAuthorize()
if ((string)$oAuthorizationStatus->State === 'Declined' || (string)$oAuthorizationStatus->State === 'Closed') ...

Diese eine Fehlermeldung kommt, wenn Amazon ein Zahlvorgang ablehnt oder schließt.
Scroll mal hier zum State “Decline” und “Close”: https://pay.amazon.com/us/developer/documentation/apireference/201752950

Es könnte z.B. sein, dass Amazon die hinterlegte Zahlungsmöglichkeit des Kunden nicht mag, oder es ein Timeout gab (ggf sowas wie falsch eingestellte Zeitzone => 1h Unterschied in den Timestamps => Fehler)
Angeblich könnte man mit der GetAuthorizationDetails Funktion mehr Infos rausholen, aber diese wird nirgendswo verwendet. Ggf kann der Amazon Support sagen, warum die Transaktion abgelehnt wurden.
Wenn du es kannst, würde ich das einbauen und schauen, was drin steht.

Ich würde noch Zugangsdaten und alle API Tokens prüfen, ob wirklich überall auch live Daten sind und nicht sandbox, bevor ich mich an amazon wende.
Desweiteren hat das neue bestIT Modul zwei Funktionen unter der Haube:
“Login with amazon”, so kann man sich mit den Amazon Daten ein Shop Konto erstellen oder sein Amazon Konto mit dem vorhandenen Shop Konto verknüpfen.
und “Checkout with amazon”, das ist die Sache mit Adressen + Abwicklung der Zahlung über Amazon.
Prüfe in den Einstellungen, ob beides aktiv ist.

ich habe einen 4.10.8 Shop mit dem Modul in der Version 2.6.3. Bis auf falsche ALAs funktioniert das Modul.

Okay, schon mal gut zu wissen, danke dafür! Obwohl ich davon auch fast ausgehe, da man ansonsten ja mehr über solche vermeintlichen Bugs lesen würde. Ich denke aber auch weiterhin, dass dann ebenso die 3.2.1 laufen würde, richtig? Man kommt da schnell durcheinander, da erst seit Version 3.2.0 keine unterschiedlichen Versionen für OXID 4 und v6 angezeigt werden (im Backend), davor war es ja so, dass 2.6.3 = 3.1.3 war, aber das braucht es wohl nicht mehr. Dank der Versions-Weiche ganz unten in der metadata bleibt es wohl abwärtskompatibel, sonst bräuchte man die Weiche ja nicht.

Ach, ja: und was für ALAs meintest du?
Nochmal PS: ich meine übrigens bisher nur Sandbox-Tests unter lokaler Entwicklungsumgebung (windows), hatte ich vergessen zu erwähnen :wink:
PPPS: letzteres sollte aber keine Rolle spielen, da es wie gesagt, gar nicht um einen echten Datenaustausch mit Amazon geht, sondern nur um den Aufruf der OXID-Seite cl=order, wenn man auf cl=payment manuell “Amazon Pay” auswählt und auf Weiter klickt. Das hatte ich missverständlich geschrieben in der letzten Mail, sorry!

Schmeiss mal über die settings den amazon button raus aus der warenkorb geschichte

Gruss
Marcel

Du meinst die beiden Checkboxen für Flyout + Popup? Okay, und was soll dann genau passieren? Ich habe aber aktuell das neue Problem, dass die Zahlungsart gar nicht mehr zur Auswahl auftaucht, warum auch immer. :thinking:

PS: dies klärte sich evtl. schon, zumindest wird die Zahlungsart wieder angeboten, wenn man die Modul-Option “Amazon Login aktiv” deaktiviert. Keine Ahnung, ob das Sinn macht, aber nun kann ich zumindest weiter testen. Leider bleibt es weiterhin beim oben beschriebenen Fehler.

Funktionieren denn andere Sachen in deiner lokalen Windows Umgebung? Ich weiß z. B. dass Paypal nicht ohne https geht. Vielleicht ist hier auch sowas.

Yepp, prinzipiell läuft hier fast alles identisch wie auf dem Linux-Server, auch mit passenden SSL-Zertifikaten o.ä. Problematisch wird es natürlich immer dann, wenn externe Scripte von außen wieder auf die test-domain.de.local wollen wie z.B. IPNs etc. Und genau, bei Paypal direkt gibt es damit dann auch Probleme, während es aber per PayOne 1A durchläuft. Letzteres ist in diesem Bezug eh mein absoluter Favorit, aber egal. anderes Thema…

Ich bin nämlich gerade noch endlich weiter gekommen. Jetzt fiel mir auch wieder ein, was da die ganze Zeit fehlte: und zwar muss sich der “Weiter”-Button doch zu erstmal auch zum Amazon-Button ändern, wenn man die Zahlungsart auswählt, sonst kann das ja gar nicht gehen, und so war es auch vorher jahrelang. Tja, warum ging dies nun seit 2 Tagen und ca. 768 nervigen Tests anders? Unglaublich, aber nun geht es scheinbar, und ich komme endlich weiter, muy importante… :slight_smile: