Screen shot link above

If I change the default country to someother country cash on delivery starts showing for that country but not other countries that have cash on delivery in payment method assigned to it.

For example saudia arabia is also assigned cash on delivery but it only shows if I change saudia arabia to default country. Why is this happening? I have done this many times on other magento setups but never encountered this problem.


Screenshot link for cash on delivery payment methods

2 Answers 2


Please use Below configuration in Configuration-> Sales -> Payment Methods

Payment Method

  • I dont want cod on all countries only for saudia arabia and uae, it isnt working for specific countries even though countries are selected Commented Mar 14, 2017 at 16:12
  • Can you please post screenshot of Configuration-> Sales -> Payment Methods -> COD Payment
    – Lalji
    Commented Mar 14, 2017 at 16:17
  • prntscr.com/ejw1ff here is the link for the screenshot Commented Mar 14, 2017 at 16:19

The error was in this file, where it was coded to not add any other country I changed the label of this file and let the base file work and cash on deilvery started showing up for any country I wanted then I just edited the code accordingly.


// GK on 14-06-2015 - Hide cash on delivery for base country

if ($_code == 'cashondelivery' && ($this->getQuote()->getShippingAddress()->getCountry() != Mage::getStoreConfig('general/country/default')))

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.