use the checkout wizard to create another set of checkout page using no gateway, make sure to use unique names for the new pages
then on the cart display page, add code to the checkout redirect code block which will look like:
<?php
//WA eCart Redirect Check Out
if (isset($_POST["eCart1_Checkout"]) || isset($_POST["eCart1_Checkout_x"])) {
$Redirect_redirStr="checkout.php";
if ($Redirect_redirStr != "") {
if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != "") {
if (strpos($Redirect_redirStr, "?") === false) {
$Redirect_redirStr .= "?".$_SERVER['QUERY_STRING'];
}
else {
$Redirect_redirStr .= "&".$_SERVER['QUERY_STRING'];
}
}
$eCart1->redirStr = $Redirect_redirStr;
}
$eCart1->cartAction = "Checkout";
}
?>
NOTE: this code was generated for an eCart object named eCart1, yours may look different.
change this line:
$Redirect_redirStr="checkout.php";
to check the grand total and change the checkout redirect if it is 0:
if($eCart1->GrandTotal() > 0) {
$Redirect_redirStr="checkout.php";
} else {
$Redirect_redirStr="free_checkout.php";
}
again,, this code is for a cart object named eCart1, if your is named differently, you will need to adjust accordingly.