Intro
Khaime converts a merchant’s prices into a customer’s local currency in real time and routes the payment to the gateway that handles that currency.Context
Multicurrency sits between pricing and payment: Calculate Pricing and Get Product Pricing do the conversion (and apply any regional price rules), and Create Charge is where the converted amount actually gets charged. Once the customer’s currency is known, Gateway Routing determines which processor handles the payment.Hows
1
Merchant sets a baseline currency
e.g. USD — all products are priced in this currency.
2
Customer's currency is detected
Via IP geolocation, or manual selection on your storefront.
3
Prices are converted
Using live exchange rates, with any active regional price adjustment applied first.
4
Payment is processed
In the customer’s currency, via the gateway Gateway Routing resolves for that currency.
5
Merchant receives payout
In their baseline currency.
Supported currencies
Khaime supports 35 currencies across 5 regions. Prices can be converted to — and payments accepted in — any of these.- Africa
- Americas
- Europe
- Middle East
- Asia-Pacific
Exchange rates
Prices are converted using live mid-market rates (primarily sourced from Wise, with a fallback provider if that’s unavailable), refreshed regularly so customers see current pricing. Rates are cached briefly, which is why charge validation below allows a tolerance rather than requiring an exact match.Get converted pricing
Charge in customer’s currency
amount/currency— what the customer pays (already converted)total_amount/total_currency— the merchant’s original pricing, inclusive of all fees (shipping, etc.)converted_total_amount/converted_total_currency— your pre-computed conversion result; Khaime re-checks this against its own conversion and rejects the charge if they don’t match beyond a small tolerance
Whys
Conversion happens server-side, and Khaime independently recalculates whatever amount you send, because trusting a client-supplied conversion outright would let a compromised or buggy integration charge the wrong amount. Both sides computing the same conversion and comparing results (within a 1-2% tolerance to absorb rate-cache drift) catches mistakes before money moves — see the double-validation flow on Create Charge.Why nots
- Khaime does not lock in an exchange rate for an extended window — rates refresh on a short cache cycle, so a quote fetched long before the charge request can drift outside tolerance. Fetch pricing and create the charge close together.
- Multicurrency is limited to the 35 currencies above — Khaime does not accept or convert to arbitrary ISO currencies outside this list.
- Merchants are not paid out in the customer’s currency — payouts always settle in the merchant’s baseline currency, regardless of what the customer paid in.
