How to Define surcharge by country with WooCommerce

[fusion_builder_container type=”flex” hundred_percent=”no” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” overlay_color=”” video_preview_image=”” border_color=”” border_style=”solid” padding_top=”” padding_bottom=”” padding_left=”” padding_right=””][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ background_position=”left top” background_color=”” border_color=”” border_style=”solid” border_position=”all” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” center_content=”no” last=”true” min_height=”” hover_type=”none” link=”” border_sizes_top=”” border_sizes_bottom=”” border_sizes_left=”” border_sizes_right=”” first=”true”][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”” rule_size=”” rule_color=”” hue=”” saturation=”” lightness=”” alpha=”” user_select=”” awb-switch-editor-focus=”” content_alignment_medium=”” content_alignment_small=”” content_alignment=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” width_medium=”” width_small=”” width=”” min_width_medium=”” min_width_small=”” min_width=”” max_width_medium=”” max_width_small=”” max_width=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” fusion_font_family_text_font=”” fusion_font_variant_text_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” text_color=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” logics=””]

How to Define Surcharges by Country with WooCommerce

How to Add Country-Based Surcharges in WooCommerce: Step-by-Step Guide

Adding a country-based surcharge in WooCommerce is a smart way to recover additional costs like higher shipping rates, regional taxes, or special handling fees.
This guide walks you through a simple and safe method to set up country-specific surcharges without touching your theme’s core files.


Why Set Up Country-Specific Surcharges in WooCommerce?

  • Cover Regional Shipping Costs: Some countries have higher shipping rates.

  • Adjust for Taxes or Tariffs: Meet country-specific tax obligations.

  • Account for Extra Services: Special handling or remote delivery fees.

Being upfront about additional charges can improve your customer trust and protect your margins.


Step 1: Install and Activate a Code Snippets Plugin

First, you’ll need a safe way to add custom code to your site.
Using a child theme or the Code Snippets plugin is recommended to keep customizations intact after updates.

How to install Code Snippets:

  1. In your WordPress dashboard, go to Plugins > Add New.

  2. Search for “Code Snippets“.

  3. Click Install and then Activate.

This plugin allows you to add code safely without editing theme files.


Step 2: Add Your Custom Surcharge Code

Now, let’s create the functionality:

  1. Go to Snippets > Add New.

  2. Give it a title, like “Country Based Surcharge“.

  3. Paste the following example code:

[/fusion_text][fusion_syntax_highlighter theme=”” language=”x-php” line_numbers=”” line_wrapping=”” copy_to_clipboard=”” copy_to_clipboard_text=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” font_size=”” border_size=”” border_color=”” hue=”” saturation=”” lightness=”” alpha=”” border_style=”” background_color=”” line_number_background_color=”” line_number_text_color=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=””]YWRkX2FjdGlvbignd29vY29tbWVyY2VfY2FydF9jYWxjdWxhdGVfZmVlcycsICdhZGRfY291bnRyeV9iYXNlZF9zdXJjaGFyZ2UnKTsKCmZ1bmN0aW9uIGFkZF9jb3VudHJ5X2Jhc2VkX3N1cmNoYXJnZSgpIHsKICAgIGlmIChpc19hZG1pbigpICYmICFkZWZpbmVkKCdET0lOR19BSkFYJykpIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgJGNvdW50cnlfc3VyY2hhcmdlcyA9IGFycmF5KAogICAgICAgICdVUycgPT4gNSwgICAgLy8gJDUgc3VyY2hhcmdlIGZvciBVbml0ZWQgU3RhdGVzCiAgICAgICAgJ0NBJyA9PiA3LCAgICAvLyAkNyBzdXJjaGFyZ2UgZm9yIENhbmFkYQogICAgICAgICdHQicgPT4gNiwgICAgLy8gJDYgc3VyY2hhcmdlIGZvciBVbml0ZWQgS2luZ2RvbQogICAgICAgIC8vIEFkZCBtb3JlIGNvdW50cmllcyBhbmQgYW1vdW50cyBhcyBuZWVkZWQKICAgICk7CgogICAgJGN1c3RvbWVyX2NvdW50cnkgPSBXQygpLT5jdXN0b21lci0+Z2V0X3NoaXBwaW5nX2NvdW50cnkoKTsKCiAgICBpZiAoaXNzZXQoJGNvdW50cnlfc3VyY2hhcmdlc1skY3VzdG9tZXJfY291bnRyeV0pKSB7CiAgICAgICAgV0MoKS0+Y2FydC0+YWRkX2ZlZSgnQ291bnRyeSBTdXJjaGFyZ2UnLCAkY291bnRyeV9zdXJjaGFyZ2VzWyRjdXN0b21lcl9jb3VudHJ5XSk7CiAgICB9Cn0K[/fusion_syntax_highlighter][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”” rule_size=”” rule_color=”” hue=”” saturation=”” lightness=”” alpha=”” user_select=”” awb-switch-editor-focus=”” content_alignment_medium=”” content_alignment_small=”” content_alignment=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” width_medium=”” width_small=”” width=”” min_width_medium=”” min_width_small=”” min_width=”” max_width_medium=”” max_width_small=”” max_width=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” fusion_font_family_text_font=”” fusion_font_variant_text_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” text_color=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” logics=””]

Customize:
Modify the $country_surcharges array with your preferred country codes (ISO 2-letter format) and surcharge amounts.
Find your country codes here.

  1. Click Save Changes and Activate.


Step 3: Test the Surcharge Functionality

After activating the snippet:

  • Visit your WooCommerce store.

  • Add products to the cart.

  • Proceed to checkout.

  • Enter a shipping address from one of the countries with a surcharge.

  • Check: The surcharge should automatically appear as an additional fee.

🧪 Testing Tip:
Test different country addresses to ensure the fees are applied correctly for each one.


Pro Tips for a Better Customer Experience

  • Transparency:
    Clearly inform customers about potential surcharges on your Shipping Policy, FAQs, or Checkout pages to avoid confusion.

  • Label Fees Clearly:
    Consider customizing the fee name dynamically, e.g., “International Shipping Surcharge” instead of the generic “Country Surcharge.”

  • Advanced Customizations:
    For more complex setups like per-state surcharges or variable fees based on cart total, you may need a WooCommerce expert or plugin like WooCommerce Conditional Shipping and Payments.


Conclusion

Adding a country-based surcharge in WooCommerce is a quick, effective way to protect your profit margins when dealing with international customers.
Using the Code Snippets plugin ensures a safe, update-proof, and easy-to-maintain solution.

For advanced customizations or multiple conditions, hiring a WooCommerce developer or using a professional-grade plugin can further streamline the experience.

[/fusion_text][fusion_table fusion_table_type=”1″ fusion_table_rows=”17″ fusion_table_columns=”6″ awb-switch-editor-focus=”” margin_top=”50px” margin_right=”” margin_bottom=”50px” margin_left=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” animation_type=”” animation_direction=”left” animation_color=”” hue=”” saturation=”” lightness=”” alpha=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=””]

 

Country ISO 2-Letter ISO 3-Letter Numeric Subdivision Code TLD
United States US USA 840 ISO 3166-2:US .us
United Kingdom GB GBR 826 ISO 3166-2:GB .uk
Canada CA CAN 124 ISO 3166-2:CA .ca
Australia AU AUS 036 ISO 3166-2:AU .au
Germany DE DEU 276 ISO 3166-2:DE .de
France FR FRA 250 ISO 3166-2:FR .fr
Netherlands NL NLD 528 ISO 3166-2:NL .nl
Italy IT ITA 380 ISO 3166-2:IT .it
Spain ES ESP 724 ISO 3166-2:ES .es
New Zealand NZ NZL 554 ISO 3166-2:NZ .nz
Ireland IE IRL 372 ISO 3166-2:IE .ie
Belgium BE BEL 056 ISO 3166-2:BE .be
Switzerland CH CHE 756 ISO 3166-2:CH .ch
Sweden SE SWE 752 ISO 3166-2:SE .se
Norway NO NOR 578 ISO 3166-2:NO .no
Denmark DK DNK 208 ISO 3166-2:DK .dk

[/fusion_table][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”” rule_size=”” rule_color=”” hue=”” saturation=”” lightness=”” alpha=”” content_alignment_medium=”” content_alignment_small=”” content_alignment=”center” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” fusion_font_family_text_font=”” fusion_font_variant_text_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” text_color=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” logics=””]

[/fusion_text][fusion_youtube id=”https://www.youtube.com/watch?v=zJ9yHEE7-ds” alignment=”center” width=”” height=”” autoplay=”false” mute=”false” api_params=”” title_attribute=”” video_facade=”” thumbnail_size=”auto” margin_top=”50px” margin_bottom=”50px” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” css_id=”” structured_data=”off” video_upload_date=”” video_duration=”” video_title=”” video_desc=”” /][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”” rule_size=”” rule_color=”” hue=”” saturation=”” lightness=”” alpha=”” content_alignment_medium=”” content_alignment_small=”” content_alignment=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” margin_top=”” margin_right=”” margin_bottom=”” margin_left=”” fusion_font_family_text_font=”” fusion_font_variant_text_font=”” font_size=”” line_height=”” letter_spacing=”” text_transform=”” text_color=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” logics=””]


Related Videos:


Related Posts:

How to Add a percent surcharge to your cart / checkout with WooCommerce

How to Update: Automatically create media_buttons for shortcode selection

Custom Code(Opens in a new browser tab)

Defining What an Application Is(Opens in a new browser tab)

Shop(Opens in a new browser tab)

Mastering SEO: Keywords & Content Creation. What is SEO?(Opens in a new browser tab)

Create a PayPal Donation Shortcode – WordPress

Using the Current Year in Your Posts – WordPress

Are there copyright restrictions on the use of Python?

CODING WITH CSS: The style attribute

Change the Author Permalink Structure

How To Start a Blog – Beginner’s Guide for 2020

The background-color CSS property

Avada Theme Version 5.5.2

What is the use of New Keyword in VB.NET?

[/fusion_text][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]