Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


These support forums are now closed for new topics and comments.
Please head on over to http://eureka.ucommerce.net/ for support.

  • Przemek Luczak 19 posts 30 karma points
    Jun 21, 2012 @ 13:50
    Przemek Luczak
    0

    How to handle multi-currency scenario

    Hi All,

    I am looking for the best uCommerce set up to support multi-currency store where user has a choice to add aproduct to the basket in preferred currency.

    I am trying to get my head round Price Groups, Currencies, Countries and Product Catalog in uCommerce back-end but would really appreaciate a hand in suggesting the right way of doing it.

    Basically what I am after is to set up Products in the following hierarchy:

    Product Catalog
         -  Category 1
                -  Product 1  (EUR, USD, GBP + VAT)
                -  Product 2  (EUR, USD, GBP + VAT)

         -  Category 2
                -  Product 3 (EUR, USD, GBP + VAT)
                -  Product 4 (EUR, USD, GBP + VAT)

    Product can be purchased in the currency of choice (EUR, USD, GBP + VAT). How would I set up a product so user can choose the currency to pay with?

    • The Product Catalog Price group is set to GBP + VAT.
    • In the Pricing tab in product settings I have my Price groups listed (EUR, USD, GBP + VAT) and  prices set accordingly for currencies

    On the product page, I would like to be able to create 3 shopping cart buttons so user can add product in the preferred currency. Any ideas of how to do it?

    Many thanks

     

     

     

     

  • Mads Jørgensen 74 posts 226 karma points
    Sep 17, 2012 @ 09:54
    Mads Jørgensen
    0

    I'm having a simular problem.

    Would really just like to have the user choose a currency at the top of the page.

    If at that time, there is something in the basket, it's ok to reset the basket.

    I really just need that xslt extension method called "ChangeCurrency()" for the current session!

     

    Cheers,

    Mads

  • Søren Spelling Lund 1797 posts 2786 karma points
    Sep 17, 2012 @ 10:56
    Søren Spelling Lund
    0

    @Przemek:

    If you want to select currency based on different method than the current catalog you can override IPricingService and have that select currency based on a customer choice.

    There's a sample on the forum that shows you how to override IPricingService. Your logic would of course be different and look for maybe a cookie with the customer selection in or a choice on the member profile.

  • Søren Spelling Lund 1797 posts 2786 karma points
    Sep 17, 2012 @ 10:58
    Søren Spelling Lund
    0

    @Mads:

    There's no mechanism for changing currency via XSLT today, but you can use .NET to do it like so:

    var purchaseOrder = SiteContext.Current.OrderContext.GetBasket().PurchaseOrder;
    purchaseOrder.BillingCurrency = Currency.SingleOrDefault(x => x.ISOCode == "USD");
    purchaseOrder.Save();

    Naturally you only want to do this if the basket is empty. Prices in the basket will not change automatically with the changed currency. 

  • Mads Jørgensen 74 posts 226 karma points
    Sep 20, 2012 @ 08:26
    Mads Jørgensen
    0

    Hey Søren,

    This works like a beauty in the basket, but how about changing the currency in the XML i get from GetCategoryById() xslt extension method?

     

    Thanks in advance!

  • Søren Spelling Lund 1797 posts 2786 karma points
    Sep 24, 2012 @ 10:24
    Søren Spelling Lund
    0

    You'll have to change the PricingService to make that happen (so some .NET required).

    Basically you want IPricingService to reflect the choice a customer makes on the site, which means swapping out the default price engine with your own.

    What I'd do is the following:

    1) Grab the currency choice from the user and put that in a cookie

    2) Override the IPricingService to read the choice

    3) Load up the proper price group based on the choice

    This forum post shows you how to do it albeit with a different end goal.

     

Please Sign in or register to post replies

Write your reply to:

Draft