Beiträge von kheber92

    Hallo,


    vielen Dank für die rasche Antwort!


    System:

    Joomla!: 3.8.13

    VirtueMart: 3.6.8 10197

    PHP-Version: 7.2.25

    Datenbankversion: 5.5.60-0+deb7u1-log

    Datenbanktyp: mysql

    Hoster: IONOS (1&1)


    Cache-Einstellungen laut configuration.php:

    public $cache_handler = 'file';

    public $cachetime = '60';

    public $caching = '0';


    Demnach ist der Joomla-Cache eigentlich deaktiviert.


    VirtueMart-Cache gibt es dennoch, wenn ich über "System" > "Cache leeren" schaue, finde ich vor:

    _virtuemart 1,70 kB

    com_customfilters.input 70,00 b

    com_virtuemart_cat_childs 19,57 kB

    mod_cf_filtering.categories 72,47 kB

    mod_virtuemart_product 396,79 kB


    Das sind eigentlich auch nicht allzu große Cache-Dateien.


    Das Problem tritt jedoch bereits seit einigen Monaten auf, daher bin ich nicht sicher, ob es wirklich direkt mit VirtueMart- oder Joomla-Versionen etwas zu tun hat.


    Edit:

    In der log-Datei (com_virtuemart.log.php) ist häufig ein Eintrag zu finden:

    Code
    1. 2019-11-18 13:56:26 ERROR vmError: Max execution time reached in model product getProduct()1008405

    Die Nummer ganz hinten ist immer eine andere.

    Für genau einen Zeitstempel gibt es teilweise ca. 24 Zeilen, teilweise mit gleichen Nummern, teilweise mit unterschiedlichen.


    Edit2:

    Ich habe gerade noch einmal die üblichen Werte in PHP-Informationen im Joomla-Backend geprüft und mit einem php-Script, indem ich die phpinfo anzeigen lasse, verglichen. Das Script liegt im Shop-Ordner, müsste also identische Werte wie die Joomla-Config haben. DIe Werte sind jedoch deutlich unterschiedlich:

    Variable Joomla Systeminformationen phpinfo() via php-Script
    max_execution_time 50000 30
    memory_limit -1 128M


    Müssten diese Werte nicht identisch sein?! Welche Werte stimmen nun?

    Hallo zusammen,


    hier eine Zusammenfassung meines Problems.

    Ich hoffe, dass hier jemand eine Idee hat, wie es zu lösen wäre oder zumindest in welche Richtung die Ursache gehen könnte.

    Leider muss ich sagen, dass mir das Problem ausschließlich von meinen Kunden mitgeteilt wurde, ich selbst hatte es bislang nie.


    Problem:

    White Screens ohne Fehlermeldung im Frontend meines Shops.


    Auftauchen des Problems:

    Völlig unspezifisch. z.B., wenn ein Produkt in den Warenkorb gelegt wurde oder aber wenn lediglich ein Produkt angeklickt wurde.
    Oder aber, wenn einfach die Domain des Shops aufgerufen wurde.


    Regelmäßigkeit des Problems:

    Sehr unregelmäßig, ich konnte dieses Problem bislang auch nicht selbst feststellen.

    Lediglich Kunden meines Shops haben es mir berichtet (nicht zu wenige).

    Mir gelang es bislang auch nicht, das Problem nachzustellen.


    Versuche, das Problem nachzustellen:

    • Aufruf einer Vielzahl von Produkten
    • Produkte in den Warenkorb legen
    • Checkout-Prozess
    • unterschiedliche Browser und Endgeräte

    Das Problem konnte ich leider nicht nachbilden. Ich bekam nie eine weiße Seite zu sehen.


    Verschwinden des Problems:

    • wenn nach einiger Zeit die Seite neu geladen wird. Produkte, die in den Warenkorb gelegt wurden, sind dann jedoch verschwunden.


    Ansatz / Ideen zur Ursache:

    • Überlastung des Servers?
    • Überlastung der Datenbank?
    • Cache voll?


    Meine Frage an die Community: woran könnte es liegen?

    Falls es an Server, Datenbank, Cache oder sonstigem liegt: wie kann ich dies nachvollziehen und beheben?

    Ich wüsste zumindest gerne wo ich ansetzen kann, da ich aktuell komplett im Dunkeln tappe.


    Vielen Dank im Voraus für jede Hilfe!

    Vielen Dank für deine Antwort, Stefan.

    Ich habe sowohl VirtueMart als auch Joomla auf den neuesten Stand gebracht.

    Die Adressdaten (Rechnungs- und Lieferadresse) kommen nun immerhin korrekt im Backend unter "Bestellungen" an. Lediglich wird immer im Feld "Nachname" zusätzlich der Vorname eingetragen, anstatt das dafür vorgesehene Feld zu befüllen, aber das ist weniger schlimm und kann ich bei der Weiterverarbeitung korrigieren.


    Mein Problem ist jedoch immer noch, dass in der Bestätigungs-E-Mail einige Daten fehlen.


    Vorhanden ist:

    • Postleitzahl
    • Ort
    • Land


    Es fehlen:

    • Vorname
    • Nachname
    • Straße
    • Hausnummer

    Die fehlenden Daten sind als "-" gesetzt.


    Der Debug auf der Bestätigungsseite nach der Bestellung zeigt alle Daten an:


    Die Daten werden also grundsätzlich von Amazon Pay (Sandbox) korrekt übertragen, in VirtueMart scheitert jedoch die Verarbeitung.

    Adressen werden in den E-Mails ja in components/com_virtuemart/views/invoice/tmpl/mail_html_shopperaddresses.php generiert. Diese Dateien habe ich auch nicht verändert.


    Mir würde es schon weiterhelfen, wenn ich wüsste, wie ich die Daten aus Amazon Pay in meine Mails vollständig bekomme.


    Vielen Dank weiterhin für jede Hilfe!


    PS: die aktuellen Versionen sind nun

    • VirtueMart 3.6.8
    • Joomla 3.9.13

    Guten Abend zusammen,


    ich habe seit langem das Problem, dass Adressdaten von Bestellungen, die per Amazon Pay bezahlt werden, nicht korrekt übertragen werden.

    Konkret werden die Daten zwar unter "Bestellungen" korrekt eingetragen, in den Rechnungen und E-Mails, welche vom System generiert werden, ist jedoch lediglich der Vorname enthalten. Weitere Daten, wie Nachname, Adresse etc. fehlt gänzlich, hier sind lediglich "-" zu sehen.


    Wenn ich im Backend in der Bestellung die Rechnung neu herunterlade, ist die Adresse immer noch unvollständig, lediglich der Vorname ist da.

    Wenn ich einen Lieferschein generiere, ist alles da.

    Rechnungen und Mails habe ich zwar bearbeitet, ich nutze jedoch keine eigenen PHP-Funktionen sondern lediglich eigenes Styling.

    Weiterhin gibt es bei anderen Zahlungsarten auch keine Probleme...

    Das Problem besteht ausschließlich bei Amazon Pay. Andre Zahlungsarten (PayPal, Vorkasse) machen keine Probleme und die Rechnungen sowie E-Mails sind vollständig.


    Anbei ein Screenshot meiner Amazon Pay Konfiguration in VirtueMart (Daten sind geschwärzt).


    Joomla-Version: 3.8.13

    VirtueMart-Version: 3.4.2

    Amazon Pay-Plugin "VM Payment - Pay with Amazon" Version: 3.2.12

    (Nein, ich nutze nicht die aktuellste Joomla- und VirtueMart-Version. Allerdings besteht das Problem bereits seit ca. 1 Jahr und ich war lange Zeit auf den aktuellsten Versionen)


    Die VirtueMart-Logdatei liefert keine Fehler bzgl. Payment oder Bestellung.


    Ich übertrage die Bestelldaten in eine weitere Datenbank, daher fällt es gerade bei Amazon Pay Bestellungen auf, dass die Adressen unvollständig sind.


    Ich bin um jede Hilfe, um jeden noch so kleinen Tipp sehr dankbar.

    Solltet ihr noch weitere Infos benötigen, liefere ich diese gerne nach.


    Vielen Dank vorab und viele Grüße

    Hallo zusammen,


    EDIT:
    Sehr strange. Habe in Virtuemart den Payment-Typ im PayPal-Plugin auf "Shopping Cart" geändert und getestet. Nachdem ich zu PayPal weitergeleitet wurde (die Seite war designtechnisch unterschiedlich /altbackener im Gegensatz zur vorherigen), musste ich bestätigen, dass PayPal bestimmte Regularien geändert hat. Dies tat ich und führte den Vorgang fort - es klappte problemlos.
    Anschließend stellte ich den Payment-Typ wieder auf "Normal" und testete erneut - wieder klappte alles.
    Ich gehe also davon aus, dass PayPal hier noch die Zustimmung zu den neuen Regularien gefehlt hatte - diese Abfrage fehlte jedoch in der anderen Darstellung...


    Der untere Rest kann ignoriert werden, lasse ihn jedoch zur Auffindbarkeit für andere Nutzer bestehen, die ggf. das gleiche Problem haben.


    Den Fehler gab es schon mal, galt wohl als gelöst, kam nun jedoch bei mir auf.
    Nach Weiterleitung, Login und Abschluss der Bezahlung bei PayPal (im Sandbox-Modus) kommt die Fehlermeldung:
    "Leider ist ein Systemfehler aufgetreten. Versuchen Sie es später noch einmal."


    Joomla (3.7.4) und VirtueMart (3.2.2) sind aktuell, für das Payment-Plugin von PayPal gab es kein Update.
    Ich habe einen htacess-Passwortschutz auf der Seite implementiert, da diese noch nicht live sein sollte.
    Allerdings hatte ich es auch ohne htacess-Schutz getestet, die Fehlermeldung bleibt die gleiche.


    Ich nutze PayPal derzeit im Sandbox-Modus.
    Die Seite ist aktuell noch nicht auf https umgestellt, SSL wird erst noch aktiviert - dürfte allerdings keine Rolle spielen.


    testmerchant@xyz.com => ist meine Sandbox Merchant E-Mail
    testbuyer@xyz.com => ist meine Sandbox Buyer-E-Mail


    Der Debug-Modus spuckt folgendes aus:

    Code
    1. plgVmConfirmedOrder:
    2. order number: 376Q059


    Code
    1. plgVmConfirmedOrder:
    2. Amount/Currency stored 11.75 paymentcurrency 47 orderusercurrency47



    Mein Log-File sagt folgendes (Webseite ist unkenntlich gemacht):


    Die Konsole des Browsers zeigt folgendes an:

    Code
    1. Failed to load resource: the server responded with a status of 500 ()
    2. https://www.paypalobjects.com/auth/createchallenge/12da7c4a8bb434e0/challenge.js


    und


    Code
    1. XMLHttpRequest cannot load https://www.paypalobjects.com/auth/createchallenge/12da7c4a8bb434e0/challenge.js.
    2. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
    3. Origin 'https://www.sandbox.paypal.com' is therefore not allowed access. The response had HTTP status code 500.
    4. https://www.sandbox.paypal.com/signin/inject/?stsRedirectUri=https%3A%2F%2Fwww.sandbox.paypal.com%2Fcheckoutnow%2F2&country.x=DE&locale.x=de_DE&returnUri=https%3A%2F%2Fwww.sandbox.paypal.com%2Fcheckoutnow%2F2&state=%3Fflow%3D1-P%26mfid%3D1501618438755_9267fb1402c3%26rm%3D2%26token%3D99Y31608W9972502X%26useraction%3Dcommit&flowId=99Y31608W9972502X&correlationId=f84eac2089008&flowContextData=IoIV-SEZcvL-SEudAgkUWNpTw5E461Z2JoDVOk_VggNTFbh4ecuVue31RaZfsjgawRHKFSQg0QXt9J5T4jFNUlzochdXfirHcQ55hgZYtFKO9YCgVxv0Ld_W2tZEfRUzuSb1nsHEXgQUeAFg7Y_03hcpw8OW2Rh3_V0GlzL3WuP9KxHNYUZmQkcWQj5T8YZBLvoR_8jyekmMuiUfkGURDgAgr1uyWclFSQtIFLXjzlAva76w&rememberMe=true


    und


    Code
    1. Failed to load resource: the server responded with a status of 400 (Bad Request)
    2. /webapps/hermes/api/checkout/99Y31608W9972502X/session/createPayment Failed to load resource: the server responded with a status of 400 (Bad Request)


    Wenn ich die obige URL (".../createPayment") mal im Browser öffne, sagt er:

    Code
    1. Cannot GET /webapps/hermes/api/checkout/99Y31608W9972502X/session/createPayment


    Die URL, die den Fehler wirft, ist beispielsweise folgende:

    Code
    1. https://www.sandbox.paypal.com/webapps/hermes?token=7VA66186DK123794J&useraction=commit&rm=2&mfid=1501618822232_c709571a6e4d2#/checkout/genericError?code=REVGQVVMVA%3D%3D


    Ich kann mir leider absolut nicht erklären, worin der Fehler liegt und habe kaum einen Ansatz.
    Mich irritiert, dass er z.B. eine JS-Datei (challaenge.js) nicht erreicht, die bei PayPal liegt.


    Den Fix mit "$post_variables['upload'] = '0';" habe ich schon getestet, brachte leider keine Veränderung.
    Habe den Wert jedoch mal auf 0 angepasst.


    Ich wäre über jede Hilfe oder auch jeden Denkansatz sehr dankbar, da PayPal als zentrale Bezahloption in meinem Shop vorgesehen ist.



    Vielen Dank im Voraus für jede Antwort!