How can I set up my Magento site so customers can see the price of the products in their local currency, but when purchasing it only takes base currency. Therefore the charge on their credit card in is a foreign currency and their bank takes care of the exchange rate.
Magento always states on the checkout confirmation page that the credit card will be charged in e.g. USD, i.e. the base currency of the currently selected website (if it's a multi-site configuration). That is default behaviour. What happens on the payment providers payment page is not up to Magento. PayPal e.g. allows the customer to select which currency the account will be charged in.