=== WooCommerce Smart COD ===
Contributors: fullstackhouse
Donate link: https://www.linkedin.com/in/stratos-vetsos-08262473/
Tags: WooCommerce, Cash on Delivery, COD, COD Extra Fee, Smart COD, WooCommerce COD, Multiple Fees
Requires at least: 3.0.1
Tested up to: 4.8
Stable tag: 1.3.4
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

This plugin extends WooCommerce COD (Cash on Delivery) Native Gateway, adds the capability to add not one, but multiple different extra fee amounts based on customer's location, selected shipping method and other factors.

== Description ==

This plugin extends WooCommerce COD (Cash on Delivery) Native Gateway, adds the capability to add not one, but **multiple different extra fee amounts** based on customer's location, selected shipping method and other factors.

A usual scenario that troubles every WooCommerce Shop Admin is that he can't charge the Cash on Delivery payment method with an extra fee.
That's a very crucial requirement for the e-shops since almost everyone is charging extra this method.

This plugin except of covering the above scenario, it goes many steps further.

= Cash on delivery with extra fee =
Charge your customer with an extra fee, when he selects the 'cash on delivery' payment method on checkout.

= Restriction Mode Option =
You can select between two restriction modes: Include and Exclude. With the exclude mode you select the shipping zones, countries or postal codes you **don't** want to have the 'COD payment gateway' available. With the include mode you select explicitly, the shipping zones, countries or postal codes you **do** want to have the 'COD payment gateway' available. Suite your self and select the style you prefer based on what's less time consuming for your case.

= Charge extra fee differently based on customer's shipping zone =
Imagine that you have a shipping zone for UK customers, another one only for London customers and a third one
for German customers. You can simply define different prices for any of those. Pretty neat huh?

Requires WooCommerce version >= 2.6

= Charge extra fee differently based on customer's country =
Simply define different prices per country.

= Charge extra fee differently based on customer's selected shipping method =
e.g. Let's say you are using two shipping methods: Free Shipping and Flat Rate. You can charge cash on delivery for free shipping with 4€ and 5€ for flat rate.

= Charge extra fee differently based on both customer's selected shipping zone and shipping method =
e.g. A customer which belongs to UK shipping zone, can have a different charge while paying with 'cash on delivery', if his selected shipping method is Free Shipping and a different charge if his selected shipping method is Flat Rate.
The customers not belonging on this shipping zone will not be affected by this settings.

Requires WooCommerce version >= 2.6

= A limit to stop charging this extra fee =
e.g. Orders over 100€

= Disable or enable this payment method for specific shipping zones =
This is a really powerful feature because of the newly introduced shipping zones by WooCommerce. With those, you
can define almost every possible scenario about the geolocation of the customer, and with our plugin
(which is the only one supporting this feature right now) to restrict the payment method in very advanced scenarios.

Requires WooCommerce version >= 2.6

= Disable or enable this payment method for specific countries =
Restrict 'cash on delivery' payment method based on customer's country.

= Disable or enable this payment method for specific postal codes =
Restrict 'cash on delivery' payment method based on customer's postal code.

= Display a custom message to the customer, if the 'COD payment gateway' is unavailable =
Just type a custom message to our settings screen and keep your customer informed and satisfied.

= Disable this payment method if cart amount is greater than price =
Disable 'cash on delivery' payment method based on customer's cart amount.

= Developers =
The plugin extends the already existing WooCommerce Cash on Delivery Gateway, so there is no need to enable or disable gateways.
The code is clean, fast and OO.

== Installation ==

1. Upload plugin to your website and activate it
2. Go as always to WooCommerce / Settings / Checkout / Cash On Delivery
3. Setup your desired settings, click 'Save Changes', and you are ready to go!

== Screenshots ==

1. assets/screenshot-1.png
2. assets/screenshot-2.png
3. assets/screenshot-3.png

== Changelog ==

= 1.3.4 =
* Tweak - Tweak the way the plugin calculates the availability based on postal codes.
* Feature - Restrict cod gateway based on customer's cart amount.
* Feature - Added filter for developers: wc_smart_cod_fee

= 1.3.3 =
* Fix - Fix warning on empty foreach.

= 1.3.2 =
* Fix - Fix issue with cod check method running outside checkout, creating problem with wp menus.

= 1.3.1 =
* Feature - Added custom information message when the cod is not available.

= 1.3 =
* Feature - Added restriction mode option - exclude or include -
* Feature - Added different price per country
* Fix - Fix issue when delimiter was a ","

= 1.2 =
* Feature - Different amount charge, based on shipping method.
* Feature - Different amount charge, based on shipping zone and shipping method.
* Feature - Added a quick link to WooCommerce Cod Settings as a notice, when the plugin get's activated.
* Fix - When you select a country or postal code which doesn't have cod available, while you previous where on country or postal code which have the cod available, the extra fees will be applied on ajax request.
* Tweak - Clean up settings on database when a shipping zone get's deleted
* Tweak - Don't store settings on database when they are not required.

= 1.1.2 =
* Add support for older PHP versions ( < 5.4 ).

= 1.1.1 =
* Add support for older WooCommerce versions ( < 2.6 ).

= 1.0 =
* Deploy of the first version of the plugin.
