Payment gateway solution for multiple currency

suppose 1 user purchasing a product from USA, so he will see the product in us dollar and can purchase in that currency
In the same way if another user is from south africa, so he can see the product in Rand and can buy product in Rand