It sounds like you're on the right track already - by restricting the shipping regions to only certain countries, your checkout will not accept payment from customers who wish to ship to areas outside of what you have rates in place for.
Unfortunately, this does not restrict the use of a credit card with a different billing and shipping address entered. When it comes to payments there isn't a built in setting that will disable to use of international cards, meaning that shipping zone restrictions are the best way to prevent and minimize international orders.
Another option would be to create a rule in Fraud Filter app (free) that cancels orders with billing addresses in specific countries - these would need to be set up within the app, but are an effective way to accomplish your goal.
I hope this helps!
Leon | 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