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


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 – paranoid kid Mar 14 '17 at 16:12
  • Can you please post screenshot of Configuration-> Sales -> Payment Methods -> COD Payment – Lalji Mar 14 '17 at 16:17
  • prntscr.com/ejw1ff here is the link for the screenshot – paranoid kid Mar 14 '17 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, privacy policy and cookie policy

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