If you could help me with the code to construct the page, that would be great.
What I would like to do is add the package weight (+3) to the Total Cart Weight: (WA_eCart_FormatNumber($ecoCart->TotalColumn('TotalWeight'), true, 1))
Then, use that value as the variable to determine the shipping quote.
So, something like this:
$shipping_weight = (WA_eCart_FormatNumber($ecoCart->TotalColumn('TotalWeight'), true, 1) + 3
if $shipping_weight <= 13 then
run UPSP First Class Ship Quote Server Behaviour
Else
run UPSP Priority Mail Ship Quote Server Behaviour
End if
Sorry about my language since I'm coming from ASP and have not learned all the PHP code.
Here's my code that works:
UPSP First Class Ship Quote Server Behaviour:
<?php
if ("" == "") {
//WA eCart (Copyright 2007, WebAssist)
//WA eCart USPS Shipping - USPS
$Shipping_SuccessURL = "view_cart.php";
$Shipping_FailureURL = "shipping_failure.php";
$Shipping_Packaging = 0;
$Shipping_PackageArray = array();
$Shipping_PackageIndex = 0;
$Shipping_Counter = 0;
$Shipping_Parameters = array();
$Shipping_Parameters["ShiptoZip"] = "".((isset($_POST["shipping_postcode"]))?$_POST["shipping_postcode"]:"") ."";
$Shipping_Parameters["ShiptoCountry"] = "United States";
$Shipping_Parameters["UserID"] = "6##########";
$Shipping_Parameters["USPSServer"] = "http://production.shippingapis.com/shippingapi.dll";
$Shipping_Parameters["CarrierCode"] = "FIRST CLASS";
$Shipping_Parameters["DefaultIntl"] = "none";
$Shipping_Parameters["ShipperZip"] = "90069";
while (($Shipping_Packaging == 1 && !$ecoCart->EOF()) || ($Shipping_Packaging == 0 && $Shipping_Counter == 0)) {
if (WA_eCart_USPS_IsTrueValue("true")) {
$Shipping_PackageArray[] = array();
$Shipping_PackageIndex = sizeof($Shipping_PackageArray)-1;
$Shipping_PackageArray[$Shipping_PackageIndex]["eCart_Quantity"] = (($Shipping_Packaging == 1)?$ecoCart->DisplayInfo("Quantity"):1);
$Shipping_PackageArray[$Shipping_PackageIndex]["IsPackage"] = "true";
$Shipping_PackageArray[$Shipping_PackageIndex]["Quantity"] = "1";
$Shipping_PackageArray[$Shipping_PackageIndex]["WeightUnits"] = "oz";
/* Replaced these with above entries
$Shipping_PackageArray[$Shipping_PackageIndex]["Quantity"] = "".WA_eCart_FormatNumber($ecoCart->DisplayInfo('Quantity'), true, 1) ."";
$Shipping_PackageArray[$Shipping_PackageIndex]["WeightUnits"] = "".strtolower($ecoCart->WeightUnits) ."";
*/
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageWeight"] = "".WA_eCart_FormatNumber($ecoCart->TotalColumn('TotalWeight'), true, 1) ."";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageType"] = "YOURPACKAGING";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageSize"] = "REGULAR";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageMachinable"] = "false";
$Shipping_PackageArray[$Shipping_PackageIndex]["IPackageType"] = "none";
//Special Services
}
$Shipping_Counter++;
if ($Shipping_Packaging == 1) $ecoCart->MoveNext();
}
if ($Shipping_Packaging == 1) $ecoCart->MoveFirst();
$Shipping_Result = WA_eCart_USPS_GetRateQuote($ecoCart, $Shipping_Parameters, $Shipping_PackageArray);
if ($Shipping_Result && $Shipping_SuccessURL != "")
$ecoCart->redirStr = $Shipping_SuccessURL;
else if (!$Shipping_Result && $Shipping_FailureURL != "") {
Header("Location: " . $Shipping_FailureURL); exit;
}
}
else if (!isset($_SESSION["ecoCart_USPS_Success"])) {
WA_eCart_USPS_SetSessionDefaults($ecoCart);
}
?>
UPSP Priority Mail Ship Quote Server Behaviour:
<?php
if ("" == "") {
//WA eCart (Copyright 2007, WebAssist)
//WA eCart USPS Shipping - USPS
$Shipping_SuccessURL = "view_cart.php";
$Shipping_FailureURL = "shipping_failure.php";
$Shipping_Packaging = 0;
$Shipping_PackageArray = array();
$Shipping_PackageIndex = 0;
$Shipping_Counter = 0;
$Shipping_Parameters = array();
$Shipping_Parameters["ShiptoZip"] = "".((isset($_POST["shipping_postcode"]))?$_POST["shipping_postcode"]:"") ."";
$Shipping_Parameters["ShiptoCountry"] = "United States";
$Shipping_Parameters["UserID"] = "6#########";
$Shipping_Parameters["USPSServer"] = "http://production.shippingapis.com/shippingapi.dll";
$Shipping_Parameters["CarrierCode"] = "PRIORITY";
$Shipping_Parameters["DefaultIntl"] = "none";
$Shipping_Parameters["ShipperZip"] = "90069";
while (($Shipping_Packaging == 1 && !$ecoCart->EOF()) || ($Shipping_Packaging == 0 && $Shipping_Counter == 0)) {
if (WA_eCart_USPS_IsTrueValue("true")) {
$Shipping_PackageArray[] = array();
$Shipping_PackageIndex = sizeof($Shipping_PackageArray)-1;
$Shipping_PackageArray[$Shipping_PackageIndex]["eCart_Quantity"] = (($Shipping_Packaging == 1)?$ecoCart->DisplayInfo("Quantity"):1);
$Shipping_PackageArray[$Shipping_PackageIndex]["IsPackage"] = "true";
$Shipping_PackageArray[$Shipping_PackageIndex]["Quantity"] = "1";
$Shipping_PackageArray[$Shipping_PackageIndex]["WeightUnits"] = "oz";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageWeight"] = "".WA_eCart_FormatNumber($ecoCart->TotalColumn('TotalWeight'), true, 1) ."";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageType"] = "YOURPACKAGING";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageSize"] = "REGULAR";
$Shipping_PackageArray[$Shipping_PackageIndex]["PackageMachinable"] = "false";
$Shipping_PackageArray[$Shipping_PackageIndex]["IPackageType"] = "none";
//Special Services
}
$Shipping_Counter++;
if ($Shipping_Packaging == 1) $ecoCart->MoveNext();
}
if ($Shipping_Packaging == 1) $ecoCart->MoveFirst();
$Shipping_Result = WA_eCart_USPS_GetRateQuote($ecoCart, $Shipping_Parameters, $Shipping_PackageArray);
if ($Shipping_Result && $Shipping_SuccessURL != "")
$ecoCart->redirStr = $Shipping_SuccessURL;
else if (!$Shipping_Result && $Shipping_FailureURL != "") {
Header("Location: " . $Shipping_FailureURL); exit;
}
}
else if (!isset($_SESSION["ecoCart_USPS_Success"])) {
WA_eCart_USPS_SetSessionDefaults($ecoCart);
}
?>
many thanks!