[New Partner Beta] Selling in Multiple Currencies with Shopify Payments: What this Means for App Developers

Shopify Partner
76 1 11

Hi David,

Thanks. For Refunds, there seems to be discrepency between the migration guide and the first post of this thread.

In the first post of this thread (under Refund API) it says:

Existing properties that return a price defaults to customer currency

However, in the migration guide  :

refund_line_items and order_adjustments, are in the shop currency.

Can I assume the migration guide is the latest version? 

 

SimplyCost - Add costs and track profit (https://apps.shopify.com/simplycost)
0 Likes
Shopify Partner
3 0 0

Hey Jordan,

If the merchant always receives funds in their shop currency. Does this mean that the amount received at capture could differ from what was authorized due to exchange rate fluctuation between capture and authorization?

0 Likes
Shopify Partner
3 0 0

One more question, when will the API changes take effect, will all customers be pushed to multi-currency automatically on the 17th, will it just be Plus customers or just when Plus customers enable another currency?

0 Likes
Shopify Partner
136 1 8

Hello David,

For the shop currency we use the currency formatting setting, when other currencies are selected we use our formatting for those currencies as part of the liquid drops. Let us know once you've had a chance to play around if we're missing something that impacts your ability to provide the experiences you're looking for.

We've finished our exploratory testing of the new feature and we would like to provide some feedback.

First, as you pointed out, the currency formatting defined in the store is only respected when the main currency is displayed. If any other of the presentment currencies is selected, the currency formatting is not respected any more. For example, decimals are always displayed (even if the configuration uses {{amount_no_decimals}}) and the currency code (USD, CAD, GBP...) is never displayed (even if it is part of the currency configuration). This may confuse merchants and break compatibility with apps and themes that rely on correct currency formatting.

On the other hand, the hard-coded currency formatting for EUR uses comma (,) as a decimal separator. Please note that the decimal separator is not related to the currency but to the language. English-speaking countries, like Ireland, use dot (.) as decimal separator whereas French-speaking countries, for example, use comma. Ireland currency is EUR and prices look like €7.50

Indeed, the position of the currency symbol is also relative to language. English language displays the currency symbol on the left side while French language shows it on the right. So it would be €7.50 in Ireland and 7,50€ in France (both countries currency is EUR).

Things are a bit more complicated with language variantes. In Spanish, for example, the symbol position and decimal separator depend on the variant (for example, $7.50 is Spanish (Mexico) and 7,50$ is Spanish (Spain)).

On the other hand, we noticed a corner case with the rounding up: $0.01 prices are rounded up to $1. This may make some sense when rounding $79.01 to $80 but for prices lower than $1 maybe it's not the best idea (thing on stores selling tons of very cheap parts, as, for example, screws and bolts.

Please shed some light on whether these things will be considered issues (and, consequently, fixed at some point) or ignored (and we have to follow these rules for our implementations).

Thanks in advance.

1 Like
Shopify Partner
1 0 0

Hi, I am not a shopify geek I've worked with some clients retrieving orders and products and some times with transaction of their shopify APIs. With the above mention changes of multi currency in APIs, do I still have to wonder for changes in my implementations as my clients doesnot use multi currencies i.e. they have same shop and presement currency?

0 Likes
New Member
3 0 0

Hello everyone. I'm developer from Klarna Payments app and I would like to ask two questions.
1. Do you have exact date when multiple currencies would go live for all shopify plus merchants?
2. Will Checkout API changes also work with Checkout Anywhere API? I'm testing it for development store and I get some values in presentment currency and other values in merchant currency. E.g:


Shopify admin/checkout

"payment_due": "364.10",
"subtotal_price": "356.95",
"total_price": "364.10",


Shopify anywhere/checkout

"payment_due": "364.10",
"subtotal_price": "405.62",
"total_price": "413.62",


Additionally - anywhere/checkout doesn't have presentment_currency field, and has "available_shipping_rates" array with merchant currency prieces.
We would really like to stick with anywhere/checkout because currently we don't have read_checkouts permissions on our merchants.

0 Likes
New Member
1 0 0

Hi, can I settle in different currencies? USD to USD, euro to Euro etc etc

 

thanks

0 Likes
Shopify Partner
26 1 7

Hi Jordan/David, 

I'm testing refund, transaction changes on a multi-currency enabled store. As per documentation, currency is a mandatory field while calculating the refunds or while creating the refunds. But we're not getting any error when there is no currency in the request. So this change is not live for multi-currency beta stores? it's automatically reflecting the order's currency in the result. If we're giving wrong currency in the request then it's erroring out properly.

Also, currency is required only for multi-currency stores or is it for all? i.e if a store didn't enable multi-currency, do we really need to send currency field?

In the case of multi-currency enabled stores, currency field is mandatory for other currency orders or is it mandatory only for all orders?

0 Likes
Shopify Partner
26 1 7

Hello Shopify Team, 

Any update on the above query? we're not able to proceed further because of above queries.

0 Likes
Shopify Staff
Shopify Staff
297 32 61

Hey Zapfor,

There seems to be discrepency between the migration guide and the first post of this thread [...] can I assume the migration guide is the latest version?

Refunds will actually be in presentment (customer) currency. The migration guide will be corrected to reflect this.

Kenny,

Does this mean that the amount received at capture could differ from what was authorized due to exchange rate fluctuation between capture and authorization?

No, these prices will never differ because we store the rate used to determine the prices on the order. However, for future transactions, such as refunds, a new live rate is used.

When will the API changes take effect, will all customers be pushed to multi-currency automatically on the 17th

A small subset of Plus customers will have the multi-currency beta enabled on December 17th, with the remaining Plus merchants having it rolled out in January 2019 as part of the general release.

Code Black Belt,

The currency formatting defined in the store is only respected when the main currency is displayed

It seems as though this is by design. We recognize this poses some challenges but a more satisfactory solution is being explored.

Please note that the decimal separator is not related to the currency, but to the language [...] the position of the currency symbol is also relative to language.

In regards to local specific formatting, these are both topics in discussion with our teams. There are no timelines on when it will potentially be resolved, but we're aware they're both things that need to get addressed.

Aun,

Do I still have to wonder for changes in my implementations as my clients does not use multi currencies

You should have also received an email on November 20th if your app has been sending deprecated requests during November. The changes only impact multi-currency orders with shops that choose to enable it.

Sebryu,

Will Checkout API changes also work with Checkout Anywhere API?

No, the 'anywhere/checkout' endpoint will not be supporting multi-currency as it uses a legacy checkout controller. You would need to migrate to the 'admin/checkout' endpoint to take advantage of the new functionality, which would require you to add read_checkouts to your requested scopes.

Kevster,

Can I settle in different currencies?

If by ‘settle’ you are referring to payouts, this guide explains what currencies you can get paid out in with Shopify Payments. Otherwise all payments gets converted to your store currency.

Bharath,

So this change is not live for multi-currency beta stores?

The change is definitely live for development stores. Can you please share exactly what request you were making so I can take a deeper look? The `currency` field is required for all requests on multi-currency orders where `amount` is also passed. This goes for creating refunds/transactions and refund calculations. If amount is not specified `currency` is not required.
 

If a store didn't enable multi-currency, do we really need to send currency field?

No, it is only required for multi-currency orders. You can check to see if a shop has multi-currency enabled by checking how many currencies are returned by the `/admin/shop.json` endpoint in the `enabled_presentment_currencies` array.

In the case of multi-currency enabled stores, currency field is mandatory for other currency orders or is it mandatory only for all orders?

It is only mandatory for multi-currency orders.

 

For any further multi-currency related questions, we would recommend creating a separate thread in the API forums.

0 Likes