Falscher Summenprei...
 
Benachrichtigungen
Alles entfernen

Falscher Summenpreis aus Webshop

5 Beiträge
2 Benutzer
0 Reactions
1,830 Aufrufe
(@walter33)
New Member
Beigetreten: vor 13 Jahren
Beiträge: 4
Topic starter   [#1268]

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!



   
Zitat
(@moped)
Mitglied Registered
Beigetreten: vor 14 Jahren
Beiträge: 648
 

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.



   
AntwortZitat
(@walter33)
New Member
Beigetreten: vor 13 Jahren
Beiträge: 4
Topic starter  

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



   
AntwortZitat
(@moped)
Mitglied Registered
Beigetreten: vor 14 Jahren
Beiträge: 648
 

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.



   
AntwortZitat
(@walter33)
New Member
Beigetreten: vor 13 Jahren
Beiträge: 4
Topic starter  

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



   
AntwortZitat
Teilen: