Hallo zusammen!
Ich habe Fakturama 1.6.4 zusammen mit osCommerce 2.3.3.4 im Probebetrieb. Beim Download der Bestellungen wird bei Summen über 1000€ nur mehr ein 1000stel des Summenpreises angezeigt und Fakturama meldet:
Summe aus dem Webshop 1,88 € stimmt nicht mit berechneter überein: 1.875,00 € Bitte überprüfen!
Da stolpert irgend was über den Tausenderpunkt. Leider hab ich weder im osCommerce noch in Fakturama eine Einstellung gefunden, die da was ändert. Der Fehler scheint nur nach dem Download auf, sobald die Transaktion in Bearbeitung ist, bessert irgendwas die falsche Summe aus.
Wer kann mir helfen. Suche im Forum und sonstwo hat nichts gebracht.
Schöne Grüße!
Ich werde es mir mal ansehen. War nicht schon mal was mit Summen über 1000?
Jedenfalls werde ich mal ein paar Tests machen und melde mich dann.
Danke für deine Hilfe!
Ob da schon was war, mit Summen über 1000, dazu bin ich zu neu da und erGoogelt hab ich nichts.
Ach ja, ich vergaß zu sagen, Fakturama läuft bei mir auf Kubuntu 13.10, wird aber sehr wahrscheinlich nix ausmachen.
Schöne Grüße, Walter
Hallo Walter,
das war wirklich eine interessante Angelegenheit mit Summen über 1000 Euro.
Es sind dafür meherer Änderungen am Connector erforderlich.
Traust du dir das selber zu? Ich lasse nächste Woche einen neuen Connector bereitstellen.
Die erste Änderung wäre in Zeile 1363:
$total = 0.0;
if (preg_match("/[0-9]+.[0-9]+/", str_replace(",",".",strip_tags($check_orders['order_total']) ),$matches))
$total = $matches[0];
ersetzen mit:
$total = 0.0;
$replace_dot = array( "." => "", "," => "." );
if (preg_match("/[0-9]+.[0-9]+/", strtr(strip_tags($check_orders['order_total']),$replace_dot) ,$matches))
$total = $matches[0];
Und zusätzlich musst du, wo number_format eingesetzt wird, explizit die Behandlung des Tausendertrennzeichens benennen. Das betrifft hauptsächlich die Summen in Zeile 1440:
if (FAKTURAMA_WEBSHOP_BASE == OSCOMMERCE)
echo ("gross="".my_encrypt(number_format( $product['price'] * (1+ $product['tax']/100), 2)) ."" " );
if (FAKTURAMA_WEBSHOP_BASE == XTCOMMERCE)
echo ("gross="".my_encrypt(number_format( $product['price'], 2)) ."" " );
ersetzen mit:
if (FAKTURAMA_WEBSHOP_BASE == OSCOMMERCE)
echo ("gross="".my_encrypt(number_format( $product['price'] * (1+ $product['tax']/100), 2, '.', '')) ."" " );
if (FAKTURAMA_WEBSHOP_BASE == XTCOMMERCE)
echo ("gross="".my_encrypt(number_format( $product['price'], 2, '.', '')) ."" " );
Und am Ende Zeile 1567:
echo ("total="".my_encrypt(number_format($total, 2))."">
" );
ersetzen mit:
echo ("total="".my_encrypt(number_format($total, 2, '.', ''))."">
" );
Kannst ja mal ausprobieren.
Grüße.
Hallo moped!
Danke für deine schnelle Hilfe, ich war leider mit dem Nachschauen im Forum nicht so schnell. Grundsätzlich trau ich mir die Änderungen zu, werde sie auch machen, aber es steht grad viel an und ich werde erst in den nächsten Tagen dazu kommen. Ich berichte dann.
Schöne Grüße, Walter