The Foxy forums are on the move!

We're in the process of moving our forums over to a new system, and so these forums are now read-only.
If you have a question about your store in the meantime, please don't hesitate to reach out to us via email.

Multiple Currency Support

alex22alexalex22alex Member
in Bugs & Feature Requests edited May 2008
Hello All,

Just discovered Foxy and it looks like a great product. I have some questions that do not seem to be answered ( or have not been asked ). I am going to setup a store in GBP and i see from the forum this is possible.

I was wondering if supporting multiple currencies would be technically possible to implement ? or is this something that is going to be introduced once the current round of checkout process editing is complete ?

Thanks in Advance Alex
  • lukeluke FoxyCart Team
    I was actually just talking to someone about this last night... the next version we launch will have locality settings which will let you configure how your currency is displayed and what currency will be sent to the payment gateway. What we haven't decided yet is the best way to do multiple currencies. Maybe we could add it as an option sent to the cart like &locale=en_US or something along those lines? The trick here is that we'd have to determine which gateway the store is using and then only allow currencies supported by that gateway. That could get messy. Until we have this all figured out, however, the next release would allow you to setup multiple stores and redirect your customers to one or the other based on their preferred currency. Not ideal, but an option.

    We've also thrown around the idea of integrating with a web service to do currency conversion on the fly... that would be way cool, but that's probably way down the road.

    Please let us know your thoughts on the subject and how it would work best for you.
  • Hello Luke,

    Thanks for the prompt reply. Thats great to hear about the next version, i had discovered from the forum that it was possible to swap the symbol with the jquery method anyway but its good to know thats in the pipeline.

    I am not that technical myself could an intermediate solution be created, where the store always bills in the currency it setup in say GBP. However you can choose to have the prices / cart display in other currencies. Giving the customer a warnings during the checkout that it will be billed in the stores native currency ? The on the fly conversion would be neat :) but understandably down the road.

    The option of setting up different stores in one currency seems also like a good interim idea but SEO-wise it might not be the great as one Could risk duplicate content penalties.

    Thanks Alex
  • Sorry about my bad english in the last line i hope you get my gist.

  • lukeluke FoxyCart Team
    No problem, Alex, I understood just fine. We really appreciate your involvement in FoxyCart as we develop better support for our international customers. We'll work with you as we grow to develop the tools you need.
  • Ok. Back to this old chestnut.

    Do you think that multiple currency support could be added by a coder. Is it even technically possible under the current or upcoming system ? I just just weighing up some options right now on if i am going to go with foxy.

  • lukeluke FoxyCart Team
    I guess we still need clarity on what you mean... would you manage the different currencies on your end when you display your products? Like, they would choose GBP or USD and then add a product to FC based on the currency they chose which we would then send them along to the payment gateway? Also, as for the currency symbol, the current version (0.3.2) supports many different currency symbols. Do you need one that isn't in the list?

    The next release will have a default local setting per store which will handle the currency formats. It sounds like you're hoping for a way to override that default by, say, a special value passed in while adding an item to the cart? We might be able to build something like that along with a list of approved currency formats. The problem I see would be that your customers might try to buy something for 10 pesos instead of 10 dollars... But you could catch that sort of thing by validating the XML Datafeed.

    Hope that helps you make a decision. Keep in mind, we're still young when it comes to handling the needs of all our international customers. We're here for the long haul, but it may take us a little while to meet everyone's needs. We also don't have a hard deadline for the next version (see for more info)
  • Hi,

    I'm curious as to whether any progress has been made in this area... I have a client that wants to charge USD for US customers and CAD for Canadian customers. Would we still have to setup two separate stores to do this?

    Let me know. Thanks!
  • lukeluke FoxyCart Team
    Currently, yes, you'd need two different stores. A lot of major websites do this now anyway, asking up front what country you want and then redirecting to the correct domain (or subdomain) after that. Just to clarify, how would you managing the price differences? Would you store two different prices on your website and only display the appropriate one based on the information you know about the user? Until we have cart encryption configured, I'm not sure how you'd be able to pass in the correct currency for the gateway (and FoxyCart) to use... do you have any ideas about that? It may not be an issue, but it would suck if someone went to buy a $1000 item but actually paid in pesos. :)
  • Oh ok... Is it possible to run two stores on the same custom subdomain? Or will we have to put it on another custom subdomain and get another certificate?

    Also, is there a way to validate the checkout to make sure that in the Canadian store both the billing and shipping addresses are Canadian and US for the US store?
  • brettbrett FoxyCart Team
    You could definitely add validation on checkout to confirm the addresses. I'll let Luke explain how ;)

    Yes, unfortunately you'd need a separate subdomain, since the way FoxyCart works (like many other apps) is based on the domain, and it's a 1-store-1-domain thing right now (and it will probably stay that way).

    Could you go ahead and vote for the "Template Sets" item as well, while we're on the subject? That'd be useful functionality in addition to the straight currency issues. That'd allow you to have a French "template set", for example, which might be useful for Canada.
  • lukeluke FoxyCart Team
    Hey clearmotive. One option for validation would be to remove the United States as a country option from the CA store and remove Canada as an option from the US store. Here's some example code:
    <script type="text/javascript" charset="utf-8">
    var usIndex = -1;
    for (var i = 0; i < FC.locations.config.locations.length; i++) {
    if (FC.locations.config.locations[ i ].cc2 == "US") {
    usIndex = i;
    if (usIndex != -1) {
    Let us know if you have any questions. You'll probably want to add something in your template that makes it clear to the customer if they are in the right place or not. Something like "Canadian customers, please click here" or something along those lines.
  • Ahh... That's perfect. I'll give that a try.

    Actually, is there a simple way to limit the country list to only Canada, or only the US? That would be even better, as we are not offering international shipping right now.
  • lukeluke FoxyCart Team
    Yea, you could set the locations and countries arrays to be new arrays of length one containing only the entry of the US (or Canada). Also, on page load you could add some code to hard code customer_country, customer_country_name, shipping_country and shipping_country_name to the values you want using some JavaScript. If this is something you need help with, please post back and we'll see if we can help.
  • Hi, looking for an update here.

    If I want to collect payments from customers in either USD or GBP, then I understand I need to setup two subdomains, two FC stores, right?

    And I'd need to store the prices in both currencies in my product catalog system, and just send people to the right FC store according to whatever method I chose to do that. (Probably will ask customers which currency they prefer, and then set a cookie to remember this choice, thus ensuring they only ever get items added to one cart per browser session, or as long as the cookie lasts)
  • lukeluke FoxyCart Team
    Hey Patrick. What you've outlined is correct. To be notified when we update this issue, please vote for it here:
  • brettbrett FoxyCart Team
    (Probably will ask customers which currency they prefer, and then set a cookie to remember this choice, thus ensuring they only ever get items added to one cart per browser session, or as long as the cookie lasts)
    Fwiw, that's the approach to take, but to use two separate FC stores you'd also need to make sure that you have each at a specific subdomain or path. So and, or and That way the separate FoxyCart stores won't have issues with conflicting cookies.
  • need some small clarification regarding the bank currency exchange and whether or not two stores are needed.

    The bank converts funds upon transaction typically, correct? So if a Canadian customer purchased a product at a USD price with his canadian credit card, wouldn't our payment gateway get the correct amount in USD and his card be charged the correct amount in CAD?

    So the main basic issue is notifying customers what the actual price is in their currency?
  • brettbrett FoxyCart Team
    Like you said, a Canadian customer will be able to pay, and the currency conversion will happen automatically on their end. Depending on their country, they _may_ see some sort of currency conversion fee (or an international transaction fee, or something to that effect) in addition to the main purchase.

    The issue is if you want to explicitly set a Canadian price rather than relying on the automatic conversion that'll happen. The easiest thing to do would be to make a link that says something like, "Paying with Canadian Dollars? Click here for current conversion rates" and link to Google with a query like "300 USD in CAD" (which will display the current conversion rate). You could get more advanced to find the conversion and display it automatically to Canadian customers (based on a GeoIP lookup), but that'd be a little trickier.

    Ultimately though, the issue is whether you want to set an explicit Canadian price or just rely on the automatic conversion. For the former you'd need a separate FoxyCart store, and a gateway that supports multiple currencies. For the latter you'd just need a single FoxyCart store with a normal USD-only gateway. That make sense?
  • I am doing a similar thing to what Brett suggested on a site which happens to run Joomla, but the logic is just PHP.

    We call Maxmind, get the Country Code, convert that through an array to a Currency Code/Symbol, look up the prices based on the Currency Code (USD, EUR, etc.) and Product ID, and concatenate the symbol and number onto the screen. Ultimately, the cart gets processed by a third party (hosted) shop. It's be great to be able to do this with Foxycart.
  • Just following up on this:

    Suppose I have a web store with FC that's running in GBP. Fine.

    Then I have a .com website which I want to be the global welcome / choose your currency & country page(s).

    And then I plan to have a .com/en-us/ site that is WP / FC running in USD. Visitors will click thru to this site after arriving at .com welcome page.

    (No, I don't want subdomains, and yes I want the .com site to *also* be home to the USA website.)

    Please confirm: if someone first visits the .com welcome page, then chooses the site, there will be confusion among which store ought be used because of an initial cookie that's set up on visiting .com site? I can prevent that how?
Sign In or Register to comment.