Swap now allows customer currency to be presented in the portal, ensuring a smooth and consistent experience for international shoppers.
Shopify Requirements
Shopify represents amounts using a PriceSet, which contains two Money fields:
ShopMoney– the store’s base currencyPresentmentMoney– the customer’s currency used in the original order
For multi-currency functionality to apply correctly, international orders must have a customer currency (PresentmentMoney) that is different from the store currency (ShopMoney), as recommended by Shopify.
Conversion Rate Calculation
The conversion rate used by Swap is derived directly from Shopify’s original order values:
orderConversionRate = totalPriceSet.presentmentMoney.amount / totalPriceSet.shopMoney.amount
Presentation of Prices and Costs in the Returns Portal
Displaying Item Prices
Swap uses the store base currency (
ShopMoney) as the foundation for all transactions.The item’s return value in store currency is converted using the
orderConversionRatebefore being displayed in the customer’s currency.We do not use Shopify’s
PresentmentMoneydirectly, since Shopify rounds these values. By calculating the conversion rate ourselves, we ensure accurate and consistent display values across all transactions..
Currency Display
Built-in formatting ensures correct representation of currency symbols, names, and decimal precision.
All customer-facing values are shown with 2 decimal places.
Exchange Item Prices
Exchange item prices are pulled from the store’s catalog in store currency.
Prices are then converted into customer currency using the same
orderConversionRate.Shopify already rounds catalog prices to two decimals before passing them to the portal. Swap displays those same values.
Fees (Taxes & Duties)
All fees, including taxes and duties, are displayed in customer currency using the orderConversionRate.
Additional Payments
Additional payments are calculated using the
orderConversionRate.All transactions are processed via Stripe in the currency configured in Stripe (typically the store currency).
Refunds
Refund behaviour may introduce discrepancies:
Customers will see refunds in their original payment currency (e.g., $100 USD).
At the time of order, $100 USD may have equated to £90 GBP.
At the time of refund, currency fluctuations may mean the brand sees £95 GBP reported in Shopify.
Result: Customers always get the correct refund amount in their currency, but reporting in Shopify may reflect different store-currency amounts.
RMA & Analytics
RMA presentations in the portal follow the same multi-currency logic described above.
Analytics capture store-currency values to allow for accurate reconciliation and reporting.