I have written about this before, but that project evolved into something too complex to be used for anything else other than the client for which it was written. So, when someone else approached me for the same type of thing, it was easier to quote for a rebuild from the ground up – but this for “oscmax” which is a fork of osCommerce. But this can easily be changed to osCommerce 2.2 or 2.3 for future clients…
The products category listing now has a red/green button flag for easily switching products to HAZMAT or not;
Similarly, the actual product adding/editing page has a radio button that does the same job;
The HAZMAT order_total module has a range of options available;
Sort Order, Minimum Order Fee, Chargable US states. And two prices; 1 for the US states and another for worldwide.
In the shop, the HAZMAT fee is seen in the checkout_confirmation.php page;
In the example, shipping is to Oman, which is in the Middle East, so Hazmat applies at a rate of $55. This is added to the total to pay.
All in all, it works very well, and is quite flexible. It would not take much work to recode this from osCmax to osCommerce (2.2x or 2.3.x), so if anyone needs it, email me and we can go from there.