Cash on Delivery payment option is one of the basic features of WooCommerce. It works great with the flat rate, but if you are using table rate shipping plugins, it won’t be enough. In this article, I’ll show you how to use Cash on Delivery in WooCommerce with Flexible Shipping plugin.
Cash on Delivery (or COD, as it is often used) is a very useful payment method. It allows your clients to pay for a product when they receive it from the courier. The basic functionality of this feature is available in WooCommerce. You can get all the information about it in WooCommerce documentation. What if you want to offer COD payment for more advanced shipping options?
Table Rate Shipping and Cash on Delivery
If you are using table rate shipping plugins, like Flexible Shipping, the basic COD is not enough. You can’t limit some payment options to a more advanced shipping method based on rules. Fortunately, this can be resolved by additional payment management plugins. Let me show you some practical features of that combination.
How to set Cash on Delivery for specific products in WooCommerce?
Flexible Shipping is a very popular table rate shipping plugin with more than 50,000 using it on a daily basis. In the PRO version, it allows setting shipping rules based on shipping class, which will be crucial in this example.
Add Flexible Shipping method
First, add a new shipping method, that will be enabled only for certain products or product categories. It’s all based on the shipping class. To do that, go to WooCommerce → Settings → Shipping, and then to your Shipping Zone. There click on Add new shipping method button.
Next, choose Flexible Shipping as a shipping method, and click Add shipping method.
Click on the new Flexible Shipping method and then click on Add New button.
Finally, you have your Flexible Shipping method. Enable it (step 1.), and enter Method Title (step 2.).
Add shipping rules
Then, go to the rules on the bottom of this page. Set Based on as None, enter Cost per order and select shipping class. The last step is the most important because this shipping method will be displayed only for products from the chosen shipping class.
In my example, it’s $10 for shipping products from the Pizza shipping class.
Select payment option
To set up Cash on Delivery in WooCommerce you also need to select the payment option. To do that, go to WooCommerce → Active Payments. You should see all your shipping methods and active payment options.
Select, which payment option will be available for each shipping method. In my example, it’s Cash on Delivery and PayPal for Custom Shipping (only for Pizza shipping class), and PayPal for Standard Shipping (other products).
Now, it's time to show you how it works in my store.
Cash on Delivery for specific products in Woocommerce - result
When I have Pizza in my cart, I have only Custom Shipping available. This way I can select COD.
In any other case, it’s only PayPal for Standard Shipping.
In this article, you learned a lot about Conditional Cash on Delivery in WooCommerce. Also, I showed you how to set Cash on Delivery for specific products in WooCommerce. I hope it will be helpful. Good luck!