Regional Prices
Define local currency pricing for your Commet plans so customers pay in their own currency.
Regional Prices let you define local currency pricing for your plans. Customers see and pay in their own currency at checkout, while your canonical prices stay in USD. All regional prices are derived from your USD base prices.
Supported currencies
| Region | Currencies |
|---|---|
| Default | USD |
| Latin America | ARS, BRL, CLP, COP, PEN, UYU, PYG, BOB, MXN |
| North America / Europe | CAD, EUR |
| Asia-Pacific | JPY, CNY, KRW, HKD, SGD, TWD, INR, THB |
What you can configure per currency
| Component | Description | Example |
|---|---|---|
| Base prices | Price per billing interval | ARS 89,900/month |
| Feature overage prices | Cost per extra unit | ARS 9.50 per call |
| Included balance | Starting balance (balance model) | ARS 50,000 |
| Intro offer overrides | Discount for introductory offers | 20% off first 3 months |
Configure regional prices in the dashboard
Navigate to a plan's detail page and click Regional Prices. Plans in a Plan Group cannot have regional prices.
Add a currency, enter the exchange rate relative to USD, and Commet auto-calculates all local prices from your USD base prices. To set a custom price for any field, toggle off Sync rate. Manual prices won't change when you update the exchange rate.
Once a customer completes their first payment, their subscription currency is locked to whatever currency was resolved at checkout.
Auto-sync vs manual prices
| Mode | Behavior |
|---|---|
| Synced (default) | Price auto-updates when you change the exchange rate or USD base price |
| Manual | Price stays fixed regardless of exchange rate or USD changes |
Set regional prices with the SDK
Send only currency and exchangeRate to derive every regional value — base price, included balance, feature overage, and intro offer — from the USD value at that rate. Add a prices entry to override a specific price; manual overrides are stored as fixed values and won't change when you update the exchange rate.
await commet.plans.setRegionalPricing({
id: 'pln_xxx',
currency: 'brl',
exchangeRate: 5.2,
prices: [{ priceId: 'price_xxx', price: 499900 }],
})from commet.types import SetPlanRegionalPricingParamsPricesItem
commet.plans.set_regional_pricing(
"pln_xxx",
currency="brl",
exchange_rate=5.2,
prices=[SetPlanRegionalPricingParamsPricesItem(price_id="price_xxx", price=499900)],
)_, err := client.Plans.SetRegionalPricing(ctx, "pln_xxx", &commet.SetPlanRegionalPricingParams{
Currency: "brl",
ExchangeRate: 5.2,
Prices: []commet.SetPlanRegionalPricingParamsPricesItem{
{PriceID: "price_xxx", Price: 499900},
},
})commet.plans().setRegionalPricing("pln_xxx",
SetPlanRegionalPricingParams.builder("brl", 5.2)
.prices(List.of(new SetPlanRegionalPricingParamsPricesItem("price_xxx", 499900L, null)))
.build()
);$commet->plans->setRegionalPricing(
id: 'pln_xxx',
currency: 'brl',
exchangeRate: 5.2,
prices: [['priceId' => 'price_xxx', 'price' => 499900]],
);curl -X PUT https://commet.co/api/plans/pln_xxx/regional \
-H "x-api-key: $COMMET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"currency": "brl",
"exchangeRate": 5.2,
"prices": [{ "priceId": "price_xxx", "price": 499900 }]
}'price uses the same scale as the plan's USD base price. Supported currencies: ARS, BRL, CLP, COP, PEN, UYU, PYG, BOB, MXN, CAD, EUR, JPY, CNY, KRW, HKD, SGD, TWD, INR, THB.
Related
- Manage Plans — Configure base prices in USD
- Consumption Models — How overage pricing works
- Manage Subscriptions — Currency selection at checkout
How is this guide?