Hi
I had a problem with 2Checkout and handling my default currency.
My Default Currency is ZAR, and I have USD, GBP and EUR support as well.
What used to happen is if you set the default currency in the Admin section to ZAR, and you make a purchase it passes the ZAR value to 2CO, and 2CO will bill the Value as USD. the same if you purchase in USD, it will convert to the ZAR value and pass this to 2CO. This resulted in lots of losses (if you purchase in USD, and excesive billing if you purchase in ZAR.
It seems the module converts whatever currency you shop to the default (Specified in admin) and pass this value to 2CO.
What I did was to set my default in OSC admin to USD.
When you enter the shop I wanted the default to be ZAR.
So I added this line in the begining of the index.php file.
if ($currency != "ZAR" and $currency != "USD" and $currency != "EUR" and $currency != "GBP") {header ("Location: http://ww1.iseek.co.za/shop/index.php?currency=ZAR");};
This will when you first load the page see there is no currency selected yet, and before it can load the OSC default it will redirect to the index page, pasing the ZAR currency to the page as the one to display in.
The USD, EUR and GPB in the line is to ensure if a user selects another curency that my redirection won't override what is selected.
You shuold just modify the line to suit your needs, and should you have lots of currencies the easiest might be to check if the currency variable exists, and then create it if it doesn't.
It might not the most elegant solution, but makes it a lot easier than to go modify the various payment and order total modules.
Now I can use payment processors that accept only USD as their payment currency as well, without having to worry about the modules.
Hope some of you find this usefull.
Wilhelm