Login und Bezahlen mit Amazon von Best-IT

Hi,

wenn du den Cron manuell ausführen kannst, dann ist doch soweit alles gut.

Du musst nun nur noch den Cronjob auf deinem Server einrichten, der dir o.g. Datei ausführt.

1 „Gefällt mir“

Ok, hat zwar gedauert, habe ich aber alles soweit verstanden, danke dafür.

Nun muss ich also bei meinem server/hosting von aixPro einen cronjob einrichten.
Bei meinem altem Magentohoster war das irgendwie selbsterklärender!

So sieht die “Aufgabenplanung” von Plesk bei meinem Hoster aus. Soll ich jetzt den Befehl ausführen oder einfach nur die URL für den amazon cronjob aufrufen?
Dürfte ja beides das selbe Ergebnis haben, aber URL aufrufen dürfte ja “einfacher” sein.
Also entweder URL aufrufen und oben genannte amazon cronjob url einfügen
oder
Befehl ausführen und oben genannten Befehl ausführen.
Das UNIX-Crontab-Format erschließt sich mir aber noch nicht ganz.
Sagen wir, ich möchte alle 10min den cronjob ausführen, ist dann “*/10 * * * *” richtig?

Danke und beste Grüße!

 

Edit:
Habe mit url aufrufen ausprobiert. Cronjob wird ausgeführt und kommt auch eine Ausgabe. Zeitpunkt der letzten Ausführung bei den Grundeinstellungen->Cronjobs in Shopware wird
aber nicht erneuert. Habe dann die url geändert in www.meinshopware.de/backend/cron und den cronjob ausgeführt und dann wurde auch der Zeitpunkt der letzten Ausführung neu gesetzt.

Edit2:
Habe jetzt die Variante genommen mit /backend/cron?key=XXXXXXXXXXX und hoffentlich mit */10 * * * * das so eingerichtet, dass die URL alle 10min aufgerufen wird.
Und wenn ich das richtig gesehen habe, werden ja auch immer nur die Jobs ausgeführt, welche “an der Reihe” sind. Also wenn ich in shopware bei Geburtstagsgrüße ein Intervall von 1 Tag eingestellt habe, wird der Job auch nur einmal am Tag ausgeführt obwohl ich die /backend/cron URL alle 10min aufrufe. Richtig?

Desweiteren habe ich aber gelesen, dass “URL aufrufen” Probleme mit der maximalen Scriptlaufzeit haben könnte und “Befehl ausführen” davon nicht betroffen ist.
Kann/Sollte ich also auf “Befehl ausführen” wechseln und “wget -q -O /dev/null “https://www.deineseite.de/backend/cron?key=XXX”;” benutzen?
 

Danke :slight_smile:

So wie es aussieht, lief ja vorher gar kein Cron bei dir.

So wie du es jetzt machst, ist es richtig. Den Hauptcronjob für Shopware einstellen /backend/cron

Die anderen Cronjobs richten sich dann nach ihren eigenen Einstellungen. Laufen also so wie bei diesen Eingestellt.

Das einfachste ist, du rufst /backend/cron per PHP auf.

Frag bei Aixpro nach, wie das geht. Bei Timme Hosting muss man es z.b. so einrichten:

/opt/php-5.6.8/bin/php shopware.php /backend/cron

Da brauchst du kein extra Script, kein API, und es gibt keine Laufzeitbeschränkung

Bei mir läuft der Cron jede Minute

1 „Gefällt mir“

Hi,

seit dem letzten Update haben wir ein Problem mit dem Cronjob. Der ist bei uns so eingestellt das er alle 15 Minuten aufgerufen wird, was bisher auch immer problemlos funktioniert hat.

Nun bekommen wir beim Aufruf des Cronjobs eine Fehlermeldung, und der Cronjob wird im Backend deaktiviert:

_Processing Login und Bezahlen mit Amazon Statusübermittlung

Fatal error: Call to a member function isSetGetOrderReferenceDetailsResult() on a non-object in /var/www/shopware/engine/Shopware/Plugins/Community/Frontend/BestitAmazonPaymentsAdvanced/Classes/APA.php on line 840
503 Service Unavailable_

Was kann die Ursache dafür sein?

MfG, Wolfgang

Wenn Sie keine Erfahrung mit dem Einrichten Cron-Jobs auf den Servern haben, können Sie eine dritte Partei-Lösung wie Easycron.com verwenden, die Ihre URL zu einem bestimmten Zeitpunkt und ein Tutorial an How to set up cron job for Shopware.

Hallo,

ich hätte zwar einene eigenen Thread eröffnet, mir wurde aber empfohlen hier nachzufragen.

 

Foglendes Problem:

Beim Bezahlvorgang, beim Punkt “Lieferadresse” bleibe ich in einer Endlosschleife hängen.
Man wählt seine Lieferadresse aus und klickt auf weiter, man kommt aber dann nicht zum nächsten Schritt, sondern befindet sich wieder bei der Auswahl der Lieferadresse.

Seitens Best IT bekomme ich keinen kostenlosen Support und 120,- € Stundenlohn ist für mich als kleines Unternehmen definitiv to much, da verzichte ich lieber auf das Plugin.

 

Daher hoffe ich hier auf die Hilfe der Community.

Wo fange ich mit dem Suchen des Fehlers an?
Die Einstellungen sollten eigentlich passen, da ich diese anhand der Beschreibung von Best IT ausgeführt habe.

Gruß
Scheibes

Hallo Scheibes,

erst einmal kann ich dir bei deinem Problem nicht helfen, aber auf Login und Bezahlen mit Amazon zu verzichten…Naja, deine Entscheidung.
Bei uns im Shop wird Amazon mittlerweile mindestens genauso oft benutzt wie PayPal.
Vielleicht solltest du einfach einen anderen Programmierer suchen :wink:

Ich verstehe sowieso nicht, wieso diese Firma Best-IT, welche mit Sicherheit Geld bekommen haben und weiterhin bekommen werden, sei es von Amazon oder Shopware,
nach Wochen immer noch nicht Ihr Plugin für das Update 5.1.6 freigegeben haben. Jeder Hobbyentwickler hat direkt sein Plugin “geprüft” und freigegeben aber die Menschen von Best-It haben das noch nicht hinbekommen.
Vielleicht kann mir ja einer die Fragen beantworten, ob man problemlos auf 5.1.6 updaten kann.

Danke

Die Frage kann ich dir beantworten. :slight_smile:

Nein kann man nicht, Best IT hat mir gesagt dass diese Woche noch ein Update dafür kommt.

Vielleicht kann mir ja hier noch jemand anders helfen, wo ich zumindest mit dem suchen anfangen kann.

Ich kann ja mal anfagen, weil ich weiß, dass jemand, der sich wirklich damit auskennst, diese Frage zuerst stellen wird:

Welches Template benutzt du?

Das Standard Responive Template.

Was mir jetzt noch aufgefallen ist.

Wenn ich die Client-ID eingebe, komm ich nichtmal mehr zum Anmeldefenster.
Im “Amazon Seller Center” unter “Login mit Amzon” kann ich unter “Zulässige JavaScript-Ursprünge” nichts eintragen weil er mir sofort einen Fehler wirft.
SSL Zertifikat ist aber eigentlich vorhanden, so wie ich das sehe.

Wenn ich die Client-ID weg lasse kann ich mich zumindest anmelden, komme aber eben unter “Lieferadresse” nicht weiter.

Benötige ich die Client-ID damit das Plugin überhaupt funktioniert?
 

Fehlercode wenn die Client-ID eingetragen ist:

Error Summary

400 Bad Request

The domain on which you are using the JavaScript SDK has not been whitelisted for your application. Please add your website domain in the ‘Allowed JavaScript Origins’ section under ‘Web Settings’ on the Amazon Seller Central App Console for Login with Amazon.

Request Details
 

client_id=amzn1.application-oa2-client.60d83ec03f6a433eb56ad6d4bf2550df

redirect_uri=https%3A%2F%2Fapi-cdn.amazon.com%2Fsdk%2F2016-03-08-1t71b9cw%2Ftopic.html%3Furi%3Dhttp%253A%252F%252Fscheibes-fitshop.de%252Fcheckout%252Fcart%26proxy%3Damazon-proxy-https-api_cdn_amazon_com%26topic%3D5ZedXAM5OvsGAESH%26version%3D1

response_type=token

scope=profile%20payments%3Awidget%20payments%3Ashipping_address

language=

ui_locales=

sandbox=true

 

Ja natürlich brauchst du diese :wink:

Händlernummer, AccessKey-ID, Secret Access Key, Client ID. Diese muss man wohl alle in Shopware eintragen.

Bekommen tust du all diese Daten aus deinem Amazonkonto.

Und auch ja, du musst deinen Shop/dein Programm/dein wasauchimmer im Amazonbackend whitelisten (klasse denglisch :D).
Ich kann jetzt leider nicht mehr ganz nachvollziehen, wie ich das gemacht habe, aber selbst ich habe das nach einigem rumprobieren hinbekommen!
Also erstens: Irgendwie versuchen deinen Shop bei Amazon auf die whitelist zu bekommen. Soweit ich mich erinnere, musste ich irgendwo eine Applikation hinzufügen.
Hilfe gibt es wohl auf den Hilfeseite von Amazon.
Sobald das geschehen ist, bei Shopware alles eintragen und dann lief das auch schon bei mir :slight_smile:

Jetzt hab ich das auch alles richtig eingetragen.

Aber er will immer noch nicht. :frowning:

Es kommt immer noch folgender Fehler.

 

Tut uns leid!

Beim Bearbeiten Ihres Auftrags ist ein Fehler aufgetreten. Wir arbeiten bereits daran und haben das Problem in Kürze gelöst.

Error Summary

400 Bad Request

The domain on which you are using the JavaScript SDK has not been whitelisted for your application. Please add your website domain in the ‚Allowed JavaScript Origins‘ section under ‚Web Settings‘ on the Amazon Seller Central App Console for Login with Amazon.

Request Details

client_id=amzn1.application-oa2-client.60d83ec03f6a433eb56ad6d4bf2550df

redirect_uri=https%3A%2F%2Fapi-cdn.amazon.com%2Fsdk%2F2016-03-08-1t71b9cw%2Ftopic.html%3Furi%3Dhttp%253A%252F%252Fscheibes-fitshop.de%252Fcheckout%252Fconfirm%26proxy%3Damazon-proxy-https-api_cdn_amazon_com%26topic%3D9fDn1J9M7NjmRfGK%26version%3D1

response_type=token

scope=profile%20payments%3Awidget%20payments%3Ashipping_address

language=

ui_locales=

sandbox=true

 

Er hat anscheinend immer noch Probleme mit meiner Url die ich unter “Allowed JavaScript Origins:” eingetragen habe.

Wie muss ich meine URL dort genau eintragen?
Hab sie einmal mit www und einmal ohne www stehen. (natürlich im HTTPS)

 

also bei mir habe ich dort auch https://meinshop.de eingetragen.
Ich habe aber auch ein redirect von www.meinshop.de auf meinshop.de.

Und mit deinem SSL gibt es keine Probleme?

Ach so, ich seh gerade, du probierst im sandbox-modus.

Da hatte ich auch immer Probleme, als ich dann  einmal produktivmodus getestet habe, ging es sofort…

PS: Wenn ich mich recht erinnere, hatte ich sogar das gleiche Schleifenproblem wie du.

Das Schleifenproblem ist ja mitterweile weg, weil ich die Client-ID eingetragen habe.

Ohne Client-ID hab ich das Schleifenproblem.

Jetzt mit Client-ID hab ich das JavaScript SDK Problem.

 

Bzgl. SSL hab ich jetzt mal meinen Hoster angeschrieben ob er ein Problem erkennen kann.

PS: Produktiv ging auch nix, habe ich schon getestet.

Also das Plugin scheint nun zu laufen.

Hab nun meine Seite SSL zertifiziert und nun kann man den Bestellprozess einwandfrei abschliessen.

Jetzt hatte ich am Wochenende direkt zwei Bestellungen per Amzon.
Nun musste ich feststellen, dass anscheinend der Cronjob nicht richtig funktioniert. Er ändert bei mir im Backend keinen Status, egal ob Bestellstatus oder Zahlungsstatus.

Ebenso gibt er auch nicht an Amazon weiter, dass die Ware verschickt ist und die Zahlung eingezogen werden kann.

Ich habe dann manuell wie in der Anleitung von BestIT den Cronjob via API aufgerufen, da werden zumindest die Daten an Amzon übermittelt und die Zahlung eingezogen, aber im Backend tut sich immer noch nix.

Wer weiß Rat?

Keine Ahnung warum, aber der Cronjob will einfach nicht funktionieren. :frowning:

Wenn ich den Cronjob über folgenden Link aufrufe, bekomme ich folgende Rückmeldung.

https://meinshop.de/AmazonPaymentsAdvanced/cron/apiKey/blablablaBENUTZERAPIKEY

Debug enabled

Refund

Amazon-Status: Refund

Bestellstatus: 4

Found 1 order

Array
(
    [id] => 1640
    [userID] => 654
    [transactionID] => P02-0971678-8707562
    [ordernumber] => 201974
    [internalcomment] => 
    [invoice_amount] => 87.18
    [cleareddate] => 
    [orderStatus] => 4
    [paymentStatus] => 20
    [bestit_amazon_capture_id] => 
    [bestit_amazon_authorization_id] => P02-0971678-8707562-A047743
    [bestit_amazon_invoice_amount] => 87.18
    [bestit_amazon_refund_id] => 
    [capture_counter] => 
    [authorisation_counter] => 1
    [refund_counter] => 
    [cancel_status] => 2
    [simulation_code] => 
)
Cancel

Amazon-Status: Cancel

Bestellstatus: 4

Found 1 order

Array
(
    [id] => 1640
    [userID] => 654
    [transactionID] => P02-0971678-8707562
    [ordernumber] => 201974
    [internalcomment] => 
    [invoice_amount] => 87.18
    [cleareddate] => 
    [orderStatus] => 4
    [paymentStatus] => 20
    [bestit_amazon_capture_id] => 
    [bestit_amazon_authorization_id] => P02-0971678-8707562-A047743
    [bestit_amazon_invoice_amount] => 87.18
    [bestit_amazon_refund_id] => 
    [capture_counter] => 
    [authorisation_counter] => 1
    [refund_counter] => 
    [cancel_status] => 2
    [simulation_code] => 
)
Authorisation of authorized orders

Amazon-Status: AuthorizeNew

Bestellstatus: 36

Authorisation Request

Amazon-Status: Authorise

Zahlstatus: 0

Bestellstatus: 5

Authorization Response via IPN

Capture Request

Amazon-Status: Capture

Zahlstatus: 5

Bestellstatus: 7

Found 1 order

Array
(
    [id] => 1661
    [userID] => 665
    [transactionID] => P02-3355551-1736193
    [ordernumber] => 201982
    [internalcomment] => 
    [invoice_amount] => 26.25
    [cleareddate] => 
    [orderStatus] => 7
    [paymentStatus] => 18
    [bestit_amazon_capture_id] => 
    [bestit_amazon_authorization_id] => P02-3355551-1736193-A062654
    [bestit_amazon_invoice_amount] => 26.25
    [bestit_amazon_refund_id] => 
    [capture_counter] => 
    [authorisation_counter] => 1
    [refund_counter] => 
    [cancel_status] => 
    [simulation_code] => 
)
Capture Counter: 1

Capture Referenz-Id: P0233555511736193c01


Fatal error: Cannot access parent:: when current class scope has no parent in /var/www/vhosts/scheibes-fitshop.de/httpdocs/shopware/engine/Shopware/Plugins/Community/Frontend/BestitAmazonPaymentsAdvanced/Components/OffAmazonPaymentsService/Exception.php on line 62
503 Service Unavailable

FATAL ERROR sollte wohl eher nicht dabei raus kommen.

Kann hier jemand helfen?