I want to display certain shipping methods - like "collection by customer" for special customer groups only. All I found is the Amasty "Shipping & Payment By Customer Groups" extension. Is there a free way to do that?


You can try below code and if it works for you then you can modify and make it better for fulfilling your requirement.
Code hides free-shipping method for wholesale customer group.
Overwritten class Mage_Shipping_Model_Shipping

class Anshu_ShippingFilter_Model_Shipping extends Mage_Shipping_Model_Shipping {

    public function collectCarrierRates($carrierCode, $request) {
        if (!$this->_checkCarrierAvailability($carrierCode, $request)) {
            return $this;
        return parent::collectCarrierRates($carrierCode, $request);

    protected function _checkCarrierAvailability($carrierCode, $request = null) {
        $isLoggedIn = Mage::getSingleton('customer/session')->isLoggedIn();
        if ($isLoggedIn) {

            $groupId = Mage::getSingleton('customer/session')->getCustomerGroupId();
            if (2 == $groupId && 'freeshipping' == $carrierCode) {
                return false;
            return true;

  • Use for Magento 2 like above code with some changes for customer group ? – Payal Patel Sep 23 '16 at 5:57
  • @PayalPatel Didn't check in Magento 2, so not sure, how it will work or behave. – Anshu Mishra Sep 23 '16 at 7:09
  • @PayalPatel For magento2 how to possible to hide free shipping method for specific customer group you have any idea reply me – Rv Singh Nov 14 '18 at 12:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.