Jump to content
stuartqpr

Exclude postcodes from free shipping

Recommended Posts

Hi everybody,

 

I currently have a website on oscommerce 2.2 which offers free shipping to orders over $200. The problem is, as we are based in Australia certain postcodes are incredibly remote, and the majority of products are quite heavy. Free shipping is viable for 80% of the country - however there are certain postcodes we need to exclude from the promotion.

 

Does anybody have any idea how this can be achieved? Is there a free shipping contribution that gives you the ability to exclude postcodes? Any help would be greatly appreciated!!

Share this post


Link to post
Share on other sites

You could set something up with the MGZMT Shipping module for 2.2 (multi geozone multi table shipping) - a bit complex to configure but once set up works well.


Now running on a fully modded, Mobile Friendly 2.3.4 Store with the Excellent MTS installed - See my profile for the mods installed ..... So much thanks for all the help given along the way by forum members.

Share this post


Link to post
Share on other sites

Like Mort-lemur says, though there is always the customer who registers with an address that is near to you, with the intention fraudulently to secure a lower postal charge. There is no automatic check for this, you will just have to keep your eyes open. If however we think in terms of whole states, not of specific postcodes, then there is less vulnerability to this fraud. In the case of an Australian address, Paypal returns the values of

 

SHIPTOSTATE
SHIPTOCOUNTRYCODE

 

and if function pre_confirmation_check

 

function pre_confirmation_check() {
 global $HTTP_GET_VARS, $order, $ppe_token;

 if (!tep_session_is_registered('ppe_token')) {
 tep_redirect(tep_href_link('ext/modules/payment/paypal/express.php', '', 'SSL'));
 }

 if (!isset($HTTP_GET_VARS['do'])) {
 $response_array = $this->getExpressCheckoutDetails($ppe_token);

 if (($response_array['ACK'] == 'Success') || ($response_array['ACK'] == 'SuccessWithWarning')) {
// load the selected shipping module
	 include(DIR_WS_CLASSES . 'shipping.php');
	 $shipping_modules = new shipping($shipping);

	 include(DIR_WS_CLASSES . 'order_total.php');
	 $order_total_modules = new order_total;
	 $order_total_modules->process();

	 if ($response_array['AMT'] == $this->format_raw($order->info['total'])) {
	 tep_redirect(tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL'));
	 } else {
	 tep_redirect(tep_href_link(FILENAME_CHECKOUT_CONFIRMATION, 'do=confirm', 'SSL'));
	 }
 }
 }
}

 

is not happy with what it sees then our visitor does not get through to checkout_process.

 

It is still common to offer free shipping on valuable orders, though the practice looks like a relic of the days of printed catalogues. It would have been too much to ask the householder to dip his pen into his inkwell, to start adding up weights. But we can nowadays charge prices which more accurately reflect our costs, and the competition may force us to do so. So maybe place more emphasis on weight-based shipping - more especially as some of the products are 'quite heavy'.

Share this post


Link to post
Share on other sites

Which free shipping module are you using?

 

Hi everybody,

 

I currently have a website on oscommerce 2.2 which offers free shipping to orders over $200. The problem is, as we are based in Australia certain postcodes are incredibly remote, and the majority of products are quite heavy. Free shipping is viable for 80% of the country - however there are certain postcodes we need to exclude from the promotion.

 

Does anybody have any idea how this can be achieved? Is there a free shipping contribution that gives you the ability to exclude postcodes? Any help would be greatly appreciated!!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×