Skip to content

Multi-Currency Display

Show localized prices in visitors' local currencies instead of just percentages.

Multi-currency display converts your prices to the visitor’s local currency, showing “₹4,999” instead of “30% off $99”. This is more intuitive and converts better.

Consider two ways to present a discount to an Indian visitor:

Option A: “30% off — Use code PPP-IN for $69.30”

Option B: “₹4,999 — Use code PPP-IN at checkout”

Option B is more compelling because:

  • The visitor immediately understands the price in their currency
  • No mental math needed
  • It looks like a real local price (especially with charm pricing)

GoPayLocal fetches the current FX rate and converts prices automatically:

Base Price: $99 USD
Discount: 30%
FX Rate: 83 INR/USD
Discounted: $99 × 0.70 = $69.30
Converted: $69.30 × 83 = ₹5,751.90
Charm Priced: ₹5,499

The banner script supports multi-currency via the message template:

{{currencySymbol}}{{localPrice}} — Use code {{code}}

Configure this in your campaign’s banner settings.

The React SDK automatically handles multi-currency through its components:

import { PPPPrice, PPPCurrencySymbol, PPPCurrencyCode } from '@gopaylocal/react';
// Shows "₹4,999" for Indian visitors, "$99" for US visitors
<PPPPrice price={99} />
// Currency symbol: "₹"
<PPPCurrencySymbol />
// Currency code: "INR"
<PPPCurrencyCode />
const gpl = new GoPayLocal({ apiKey: 'gpl_pk_live_abc123' });
await gpl.init();
const pricing = gpl.getPrice(99);
console.log(pricing.formatted); // "₹4,999"
console.log(pricing.currencySymbol); // "₹"
console.log(pricing.currencyCode); // "INR"

If you only want the discount (not currency conversion), set localize: false:

// React
<PPPPrice price={99} localize={false} />
// Shows "$69.30" (discounted but still in USD)
// JavaScript SDK
const pricing = gpl.getPrice(99, { localize: false });
// pricing.formatted = "$69.30"

GoPayLocal maintains FX rates from major data providers, updated periodically and cached at the edge for fast access.

DetailValue
Update frequencyMultiple times per day
SourceMajor FX data providers
Cache TTL5 minutes at the edge
FallbackIf FX rate is unavailable, fxRate defaults to 1

Multi-currency and charm pricing work together seamlessly:

  1. Calculate discount: $99 × 30% off = $69.30
  2. Convert currency: $69.30 × 83 = ₹5,751.90
  3. Apply charm pricing: ₹5,751.90 → ₹5,499

The result is a price that looks like it was specifically set for the Indian market.

GoPayLocal supports 150+ currencies via Intl.NumberFormat. The SDK uses the browser’s built-in locale data for formatting, ensuring correct separators, decimal points, and currency symbol placement for every currency.

Examples:

CurrencyFormat
USD$1,234.56
EUR1.234,56 €
INR₹1,234.56
JPY¥1,235 (no decimals)
BRLR$ 1.234,56
KRW₩1,235 (no decimals)