<p>The Cart's currency <code>{{cart.currency}}</code> is always the default base currency. You can't change or switch this currency.</p>

<p>This means all prices/discounts/taxes are all stored and entered in that currency.</p>

<p>In the example templates, the price of items is shown in that currency using the currency filter and passing in the <code>cart.currency</code> like so:</p>

<p><code>Sale Price Subtotal: {{ item.subtotal|commerceCurrency(cart.currency) }}</code></p>

<p>When the user goes to pay for the order, we allow them to pay in a different currency called the <code>paymentCurrency</code> this is accessible with <code>{{cart.paymentCurrency}}</code>. You can also change the cart's current payment current with the controller action <code>commerce/cart/updateCart</code> and passing a valid currency ISO. The ISO you pass must be a valid one set up in your settings, along with a conversion ratio.</p>

<p>We don't recommend converting the price of all items with the payment currency using the currency filter, as the total will not match the order amount. We recommend only converting the actual payment due or order total.</p>

<p>In addition to changing the payment currency with controller action here are the other ways you can change the payment currency: <a href="https://craftcommerce.com/docs/payment-currencies#switching-currencies" rel="nofollow noreferrer">https://craftcommerce.com/docs/payment-currencies#switching-currencies</a></p>

<p>By default the payment currency is the default currency of the system.</p>

<p>As for taxes, these are always based on the shipping address. So the only way to switch the tax rate would be by the customer changing their shipping address on the cart. FYI there is an option to base the tax calcs on the billing address:</p>

<p><a href="https://craftcommerce.com/docs/configuration#usebillingaddressfortax" rel="nofollow noreferrer">https://craftcommerce.com/docs/configuration#usebillingaddressfortax</a></p>

<p>Hope that helps.</p>

CC BY-SA 3.0
2017-09-29T02:49:05.050Z
2017-09-29T02:49:05.050Z
Luke Holder
<p>I would like the user to be able to switch between currencies (and tax), but I haven't figured out how to pull the currencies defined in Craft Commerce into a for loop. (I am pretty new to this platform)</p>

<p>I need this to be changeable on the front end via both a drop down menu in the header and automatic Geo locating. </p>

<p>Any suggestions greatly appreciated :)</p>

<plugin-craftcommerce><ecommerce><currency><geo>
Craft Commerce: Geo Location, and option select dropdown to switch between currencies
# Craft Commerce: Geo Location, and option select dropdown to switch between currencies

(Asked by: username_0 on 2017-09-28)

I would like the user to be able to switch between currencies (and tax), but I haven't figured out how to pull the currencies defined in Craft Commerce into a for loop. (I am pretty new to this platform)

I need this to be changeable on the front end via both a drop down menu in the header and automatic Geo locating.

Any suggestions greatly appreciated :)

**Tags:** plugin-craftcommerce, ecommerce, currency, geo

---

## 1 answers

### Answer by username_1 on 2017-09-29. Score: 1 | Accepted answer

The Cart's currency `{{cart.currency}}` is always the default base currency. You can't change or switch this currency.

This means all prices/discounts/taxes are all stored and entered in that currency.

In the example templates, the price of items is shown in that currency using the currency filter and passing in the `cart.currency` like so:

`Sale Price Subtotal: {{ item.subtotal|commerceCurrency(cart.currency) }}`

When the user goes to pay for the order, we allow them to pay in a different currency called the `paymentCurrency` this is accessible with `{{cart.paymentCurrency}}`. You can also change the cart's current payment current with the controller action `commerce/cart/updateCart` and passing a valid currency ISO. The ISO you pass must be a valid one set up in your settings, along with a conversion ratio.

We don't recommend converting the price of all items with the payment currency using the currency filter, as the total will not match the order amount. We recommend only converting the actual payment due or order total.

In addition to changing the payment currency with controller action here are the other ways you can change the payment currency: <https://craftcommerce.com/docs/payment-currencies#switching-currencies>

By default the payment currency is the default currency of the system.

As for taxes, these are always based on the shipping address. So the only way to switch the tax rate would be by the customer changing their shipping address on the cart. FYI there is an option to base the tax calcs on the billing address:

<https://craftcommerce.com/docs/configuration#usebillingaddressfortax>

Hope that helps.


---

