Hi,
In your case, I would use free manual shipping methods and warehouses to handle that restriction automatically:
- you create one warehouse for each region via the menu System>Warehouses
- in the products, you select the warehouse corresponding to the product
- you create manual shipping methods with a price of 0, and the corresponding warehouse, and you select in the "zone" setting, the countries for which that warehouse is.
- you turn on the "force shipping regardless of weight" setting of the Hikashop configuration so that shipping is applied for all the products during the checkout.
That way, during the checkout, the system will group the products in the cart by warehouses. And for each group, it will display the shipping methods of that warehouse. The shipping methods will display based on the zone restriction and so if no shipping method is found for a warehouse because the zone doesn't correspond to the shipping address of the customer, the system won't let him continue the checkout and will display him an error message.