Jump to content
xt:Commerce Community Forum

0.00 Euro Bestellungen abwickeln


cecom

Recommended Posts

Hallo zusammen

Suche eine Lösung, um 0.00 Euro Bestellungen abzuwickeln und hoffe, jemand kann mir da weiterhelfen.

Wie andere in diesem Forum schon festgestellt haben (leider ohne Antworten), kriegt man Bestellungen mit einem Wert von 0.00 Euro nicht durch den Shop, da keine Zahlungsmöglichkeiten angezeigt werden.

In meinem Shop sind die Download-Produkte in der Basis kostenlos, da diese durch Werbung finanziert werden. Die weiteren Lizenzen sind mit Aufpreis und das funktionieren daher dort auch problemlos.

Da die kostenlosen Basis-Produkte jedoch ebenfalls den normalen Bestellablauf durchmachen sollen (wegen der Adresse, Lizenz etc.), kann ich nicht einfach einen Download-Link in den Produktdetails einsetzen.

Hat jemand eine Lösung, wie man 0.00 Euro Artikel durch den ganzen Bestellablauf kriegt?

-------------------------

Mein Lösungsansatz war unter anderem, das „invoice“-Modul (per Rechnung) zu kopieren und z.B. unter dem Namen „Sponsoring“ einzubauen. Diesen Zahlungsweg würde man dann für Bestellungen mit 0 Werten auswählen können und der Download kann normal durch den Admin später freigeschalten werden.

Das Modul zu duplizieren ist jedoch für einen PHP-Laien nicht so einfach und das zweite Problem ist, dass diese Zahlungsmöglichkeit ebenfalls nicht bei 0 Euro Bestellungen erscheinen würde...

-------------------------

Der zweite Ansatz war, den kostenlosen Artikeln den Preis 0.001 Euro zu geben. Da im Shop nur zwei Stellen nach dem Komma angezeigt werden, wären sie öffentlich „kostenlos“. Leider erscheinen auch bei einem Betrag von 0.001 Euro keine Zahlungsmöglichkeiten...

-------------------------

Ich hoffe jemand hat da schon eine funktionierende Lösung oder eine gute Idee, wie man das hinkriegen kann.

Herzlichen Dank und beste Grüsse

Link to comment
Share on other sites

Da mein Mailserver gerade gewartet wurde, kam folgender Fehler erst später zum Vorschein:

Die 0.00 Euro Abwicklung im Shop geht nun problemlos, doch bei der Bestellbestätigung per Mail kommt dafür folgende Fehlermeldung (nur bei 0 Wert-Bestellung):

Warning: Smarty error: unable to read resource: "*/admin/mail//change_order_mail.html" in /home/*/public_html/templates/includes/classes/Smarty_2.6.14/Smarty.class.php on line 1095

Da ich von PHP leider nicht viel verstehe, konnte ich den Fehler in der angegebenen Datei bis jetzt noch nicht beheben. Ich hoffe jemand kann mir da weiterhelfen.

Besten Dank.

Link to comment
Share on other sites

So, die Seite ist fast fertig und bis auf diesen Fehler konnte alles umgesetzt werden.

Der Fehler:

"Warning: Smarty error: unable to read resource: "*/admin/mail//change_order_mail.html" in /home/*/public_html/templates/includes/classes/Smarty_2.6.14/Smarty.class.php on line 1095"

kommt nicht in der Bestellbestätigung, sondern beim Ändern des Bestellstatus. Und das Komische dabei, nur bei 0 Euro Bestellungen! Ich kann in der gleichen Session etwas Bestellen oder Freischalten mit einem anderen Wert und da kommt die Mail korrekt!

Ich dachte, das liege daran, da wieder ein 0-Wert vorliegt aber dann las ich folgenden Beitrag und bin mir daher nicht mehr so sicher:

http://www.xt-commerce.com/forum/showthread.php?t=35556&highlight=change_order_mail

Leider komme ich damit ebenfalls nicht weiter und hoffe, dass hier doch noch jemand eine Lösung weiss. Herzlichen Dank!

Link to comment
Share on other sites

Nun hänge ich schon seit zwei Wochen an diesem Bestellstatus für 0.- Euro Bestellungen und die Zeit läuft davon.

Wie ich Dank diesem Beitrag (http://www.xt-commerce.com/forum/showthread.php?t=42280) herausgefunden habe, wird die Sprache bei 0 Euro Bestellungen nicht in die DB geschrieben. Ob dies mit den oben ausgeklammerten Zeilen zusammenhängt, kann ich als Laie nicht beurteilen, muss aber wahrscheinlich schon so sein, wenn es mit höheren Bestellungen ja funktioniert...

Nun die grosse Frage:

Wie kriege ich bei 0 Werten die Sprache in die DB rein (ohne von Hand alle Bestellungen in der DB bearbeiten zu müssen)?

Für den absoluten Notfall ginge auch ein automatisches Zwangs-"german" für alle Bestellungen, da der Shop in nächster Zeit nur in Deutsch zugänglich sein wird. Sofern es sich jedoch individuell einlesen lässt, um so besser.

Im Moment ist jede mögliche Version willkommen!

Link to comment
Share on other sites

  • 1 year later...

Auch wenn der Tread schon seit über einem Jahr nicht mehr bearbeitet wurde, gibt es jetzt eine Lösung:

In der checkout_process.php gibt es ein Conditional was darüber entscheidet, wie "Gratis-Geschenke" in der DB abgelegt werden. "Gratis-Geschenke" zeichnen sich u.a. dadurch aus, das keine Zahlungsweise ausgewählt wurde.

if ($_SESSION['credit_covers'] != '1') {

$sql_data_array = array (....);

} else {

// free gift , no paymentaddress

$sql_data_array = array (....);

}

In dem oberen $sql_data_array wird die Sprache mit abgelegt. In dem unteren dagegen nicht. Wird also in dem unteren $sql_data_array an das Ende des Arrays folgendes ergänzt...

, 'language' => $_SESSION['language'][/CODE]

...dann wird die Sprache ordnungsgemäß abgespeichert.

Link to comment
Share on other sites

Achso und ganz wichtig, diesen Code aus der checkout_process.php nicht wie weiter oben beschrieben auskommentieren ...


if ( (xtc_not_null(MODULE_PAYMENT_INSTALLED)) && (!isset ($_SESSION['payment'])) ) {

xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYME NT, '', 'SSL'));

}

... sondern wie folgt ergänzen ...

if ( (xtc_not_null(MODULE_PAYMENT_INSTALLED)) && (!isset ($_SESSION['payment'])) && ($order->info['total'] > 0)) {

xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYME NT, '', 'SSL'));

}

Wenn man das nicht so gemacht hat, konnte man reguläre Bestellungen mit einem Bestellwert über 0 Euro ohne Angabe einer Zahlungsart abschließen.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Hallo Forum,

habe gerade die von ikone beschriebenen Änderungen eingefügt und kann bestätigen, daß die Null-Bestellungen wie gewünscht funktionieren.

PAYMENT muß 'zusammengeschrieben' werden, wie von verismastr erwähnt.

Danke für die tolle Unterstützung.

Link to comment
Share on other sites

  • 1 year later...

hallo leute,

habe alles so gemacht wie oben beschrieben.

leider bekomme ich jedoch nun diesen fehler wenn ich den aktivierten download, runterladen möchte :

"Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.

Error 500"

weiß net was los ist.

für schnelle hilfe bin ich sehr dankbar.

gruß

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...