The question:
Guys i need an advice on how can i achieve this shipping rule
1) Shipping cost should be at a minimum of US$25.00 or 10% of the total purchase.
Example 1:
Total Purchase = $25
Shipping cost = $25
Total = $50
Example 2:
Total Purchase = $500
Shipping cost = $50
Total purchase = $550.00
Thanks.
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
You can create a new shipping module following this tutorial or this one.
Then the collectRates()
method (the one responsible for calculating the shipping price) can look something like this:
public function collectRates(Mage_Shipping_Model_Rate_Request $request){
// skip if not enabled
if (!Mage::getStoreConfig('carriers/'.$this->_code.'/active')) {
return false;
}
//create a result object
$result = Mage::getModel('shipping/rate_result');
$percentage = 10;
$minimum = 25;
$packageValue = $request->getPackageValue();//the cost of the products
$price = ($pachageValue * $percentage) / 100; //calculate 10% of the product cost
if ($price < $minimum){//if 10% is less than 25
$price = $minimum;
}
//create new shipping method instance
$method = Mage::getModel('shipping/rate_result_method');
$method->setCarrier($this->_code);
$method->setCarrierTitle($this->getConfigData('title'));
$method->setMethod($this->_code);
$method->setMethodTitle($this->getConfigData('name'));
//set the price for the method instance
$method->setPrice($price);
$method->setCost($price);
//add the price to results
$result->append($method);
return $result;
}
For best practice, add the minimum amount (25) and the percentage value (10) to your module configuration so you will be able to change it whenever you want.
Method 2
For set shipping cost you need to create .CSV file. let try this will help you.
Method 3
Tables Rate Method can be used by uploading CSV for different rates and area is a good solution.
Admin: System->Configuration->Sales->Shipping Method
Check the Link for using Tables Rate Method
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0