-- HikaShop version -- : 4.2.2
-- Joomla version -- : 3.9.14
-- PHP version -- : 7.3
Hi,
Our store contains a small number of digital only products and a larger number of physical products.
We don't wish to charge shipping for carts which only contain digital products.
We need to charge shipping for carts which contain physical products - however, we can only ship to customers in the UK. We need to prevent orders being passed to the payment gateway if the cart includes physical products and the shipping/delivery address is outside the UK.
We are required to capture a shipping address for all orders, even if the order only has a digital product in it.
What we've tried so far:
- Force delivery regardless of weight has been enabled.
- We have set up two Warehouses - one for Digital Products, and one for Physical Products.
- We have set up a Zone for 'Rest of the World' which includes everywhere except the UK.
- We have set up 3 shipping methods:
- Digital only (free) - restricted to products with a maximum weight of 1g, no zone restriction, warehouse set to 'Digital Products'
- UK only (£2.95) - restricted to products with a minimum weight of 2g, zone restricted to UK - I've tried with warehouse set to None and also set to 'Physical Products' (see below for explanation)
- Rest of World (£100) - restricted to products with a minimum weight of 2g, zone restricted to 'Rest of the World', warehouse set to None. (The £100 fee here is irrelevant - the intention was to create a shipping method which can be 'blocked' in the relevant products, based on reading the documentation).
- For all 3 shipping methods we have set 'Use price per product' to Yes.
I've assigned all our digital products to the 'Digital Products' warehouse, and a test Physical Product to the 'Physical Products' warehouse (if/when we get this working then we can spend the time updating all our Physical Products to this warehouse). I've also updated the test Physical Product so that the 'Rest of the World' shipping method is blocked.
Current results
- If I add this physical product to the cart and select a UK shipping address then I see the correct shipping fee. However, if I select a USA shipping address then the shipping fee is removed entirely and I'm not blocked from proceeding to the payment gateway.
- If my cart contains both a digital product and the test physical product then I see the correct shipping fee (£2.95) if the shipping address is set to UK. But if the shipping address is set to USA then I see £0.00 instead.
- If the cart only contains a digital product then I correctly see £0.00 delivery fee regardless of how the shipping address country field is set.
If you can offer any insight into what we have misunderstood and how best to meet our objectives that would be much appreciated.
Thank you!