I want to set up limitation/restriction on the payment methods based on country/state/province/city/postal code.
E.g. If my company do not have a COD in Mumbai, a customer from Mumbai entering the shipping address as Mumbai should not be able to avail COD for that address, rather he should be paying through the payment gateway option, it should give him a restriction and should not allow him to go to the next window to complete the order.
Please advise on this issue if available.
Currently is not possible but Shopify said is on development; you may find this relevant:
I'm in need of this too.
There is a solution if you need to limit Cash on Delivery to only specific countries or products, but you need to use a separate order form to collect Cash on Delivery orders, because there is currently no way to do this on Shopify's Checkout.
If you install our app QuickForm you will be able to create a separate professional order form for your Cash on Delivery orders and you can limit the form to only the countries you need on the Visibility settings here:
With this solution COD will only be available for the countries you want because your customers will use our order form if they want to pay with Cash on Delivery and if your customers are in other countries or they want to pay with prepaid they can use the normal Shopify Checkout.
You can install QuickForm for free on the Shopify App Store here: https://apps.shopify.com/releasit-cod-order-form (you can also find a demo store on the App Store where you will be able to try the app)
If you need help or you have any doubts or questions you can always contact me on the app, we offer 24/7 support via email, WhatsApp and Telegram!
Hope this helps!