Can I set different shipping rates based on payment method?

Can I set different shipping rates based on payment method?

1 0 0

I would like to have free shipping when a customer uses a card payment method but when a user selects cash on delivery a standard fixed shipping rate should be applied. I'm using the basic plan of $25.


Is there any way I can do that?

Replies 4 (4)

Shopify Partner
402 25 68

This is not possible in Shopify as in Shopify's checkout flow, you have to choose Shipping Rate first and then choose the payment method. What you can do instead is use an app like COD king to add a $25 fee when the payment method is COD.

Automate & bulk assign products to shipping profile: Auto Shipping Profiles: Shipr
Calculate accurate shipping rates: Shipping Calculator: ShipMagic
Hide, rename, reorder payment methods at checkout: Payment Customization: PayMix
Shopify Partner
2 0 0

Hello, how can I add an extra shipping charge for online payment methods?

Shopify Developer
Shopify Staff
1885 211 337

Hi there, @arjunpant. Thanks for taking the time to follow up on this thread! At this time, it's not possible to add extra charges for specific payment methods natively via Shopify. However, you can make use of some third party apps to see if they can assist you with attaching the desired fee to these orders or carts.

We've received a fair amount of feedback around this lack of functionality in the past, and I'm happy to make our developers aware of this thread, and your desire for this functionality. Though I can't promise what may result from me sharing this information with our Team, you can trust that the appropriate folks at Shopify will be made aware of this thread. Thanks!

Imogen | Social Care @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

Shopify Partner
64 0 0

You can set different shipping rates based on the payment method using the PayRules: Hide Payment Methods app. Here's how you can do it:


  1. Choose "Cash on Delivery (COD)" from the "Select payment methods" field.
  2. In the "Shipping/delivery titles" section, add “Free shipping”.



Then you can create another shipping option with a fixed shipping rate like “COD shipping ($5.45)”. This setup will ensure COD payment option will not be available if the customer selected “Free shipping” and only can choose COD shipping ($5.45)” option.