WooCommerce use Country and Postcode for shipping estimate in custom method - woocommerce

I am trying to force shipping estimate to use postcode and country. I am building a custom shipping method (similar to tutorial here). I can get both the country and postcode values fine. However, only country seems to be required by default, and postcode is optional with the field even greyed. Here is an example image of Change Address fields. My shipping method breaks when the postcode is empty as in the example image. How do I require both country and postcode? Note - State and city are not required in my custom method.

Related

Restrict Shipping Class by specific Zipcodes

I'm trying to find a more manageable way to restrict shipping class to specific zipcode.
My configuration as below:
Shipping method: Self Collect, Free Delivery, Delivery with a fee
Shipping Class: Class A, Class B, Class C
Shipping Country: Only 1 country
Shipping Zone: Zone A, Subset of Zone A (specific Zipcode 123*)
Shipping plugin: Table Rate Shipping
Conditions:
All shipping methods are applicable to Class A, B and C. Class C is restricted to zipcode 123* only. If orders contain Class C and shipping address is outside of zipcode 123*, the shipping method will be defaulted to self-collect only.
I figure I can set up two zones. One zone contains specifically zipcode 123*. And setup another zone manually inserting every other zipcodes excluding zipcode 123*. I find this approach onerous and difficult to maintain considering it doesn't support import and export natively.
I wonder if there is a way to restrict class to specific zipcodes only? I only managed to restrict product categories by countries but can't find a way to restrict by zipcodes.

Metabox Geolocation Extension: How to dynamically update Restriction based on users country selection

Meta Box Extension: Geolocation
I need to make the country restriction dynamically updated through user selection of a select dropdown containing the country iso2 values. I've tried to find any documentation that is similar to what I'm aiming for, but by far no luck.
There is no support forum as well for the plugin + extension that seems to have the answer or example that I'm looking for.
Basically what I wanna do is:
User selects a country (ie: United States) -> The expected result is the address field will limit the addresses to those in US only.

WooCommerce : set TAX on product page

I'd like to set a specific Tax on each product.
I see i can create tax classes, but i'm going to have many different taxes, one per product, on more than 300 products.
Is it possible to set the tax % on the product page when i create it ?
Do you know a plugin for that ?
What want to do is to calculate Tax Based On SKU and not shipping address.
So i need to have a field on product page where i can enter a TVA number, manually.
Do you think it's possible ?
OR an other way maybe :
- have one taxe class
- in the tax class add many taxes rates with all the same country code, and no zip code
- create a field in the product page to assign the right tax rate for the product (instead of assign a class rate)
What do you think about that ?

CountrySelect form field, pre-populate with a country

How can I default to populating the Select drop down list with a value, in this case it would be the country U.S.. We've removed other countries from the list but users are still required to select the one option.
In addition to a default value, the dependent fields would need to be populated. Currently in Intershop, selecting the country populates the State field. I would like to default to U.S. and have the State field already populated on the initial request, sans ajax calls.
You would have to modify some pipelines for this.
The webform it loads is based in the country code. Intershop gets the countrycode from the addressbo or as a parameter. See the ViewUserAccount-ChangeAddress : this pipeline is used in the ajax request to load the webform when u select a country. You could use the same logic to load the U.S webform (US) when the address has not been filled in yet.

Ubercart shipping per country

I don't want to use the UPS shipping, I have a list of prices per country that my client wanted adding. Now I have been told to do this via conditional actions but I haven't got the vaguest idea how I would set this up, none of the options seem to allow me to set up specific values per country. Please help me out!
By "prices per country" do you mean a flat rate per country?
If so, create a flat rate price for each country (admin/store/settings/quotes/methods/flatrate). Example: International - Canada Flat rate
This will also add triggers for each flat rate you create in the conditional actions: (admin/store/ca). Example: Trigger: Getting shipping quote via International - Canada
Edit the trigger and click the "conditions" tab. Under "Available conditionns" select "check an order's shipping country". Click the "add condition" button. Then select the country (example: canada) and save the page.
(this is for drupal 6 & ubercart 2)

Resources