Dodo Payments multi-currency pricing, covering fixed localized prices per country or currency, Adaptive Currency live FX conversion at checkout, and purchasing power parity (PPP) percentages.

Apache-2.0Auto-check passed

Install Localized Pricing

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill localized-pricing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins localized-pricing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/dodopayments/dodo-agent-plugin/skills/localized-pricing .claude/skills/localized-pricing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
localized-pricing
GitHub stars
1.3k
Token cost
~2.9k tokens
SKILL.md length
1,182 words
Files
1
Skills in repo
714
Repo updated
First seen
Licence
Apache-2.0

At a glance

Dodo Payments multi-currency pricing, covering fixed localized prices per country or currency, Adaptive Currency live FX conversion at checkout, and purchasing power parity (PPP) percentages.

  • Works in 4 steps: Explicit billing_address.country or… → Customer's stored address (if the… → IP geolocation (if available). → …
  • Other local currencies
  • SKILL.md covers When to use this skill, Core concepts, Product pricing mode and Localized Pricing CRUD, plus 6 more sections
  • Needs DODO_PAYMENTS_API_KEY

What it does

Localized Pricing is an agent skill from hashgraph-online/awesome-codex-plugins. Dodo Payments multi-currency pricing, covering fixed localized prices per country or currency, Adaptive Currency live FX conversion at checkout, and purchasing power parity (PPP) percentages. Use when pricing in INR, EUR, or other local currencies, offering regional or PPP discounts, or resolving billing country and currency fallback.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.

When your agent uses it

  • Other local currencies
  • Offering regional
  • Resolving billing country and currency fallback

Example prompts

  • “/localized-pricing”

Requirements

  • A credential in DODO_PAYMENTS_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Explicit billing_address.country or billing_currency passed to checkout.
  2. Customer's stored address (if the customer exists in Dodo).
  3. IP geolocation (if available).
  4. Fallback to your product's base price and currency.

What it can do on your machine

Read from SKILL.md and the folder at commit 9e7b281. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.dodopayments.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DODO_PAYMENTS_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Localized Pricing loads about 2.9k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 1,182 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hashgraph-online/awesome-codex-plugins at commit 9e7b281, republished under its Apache-2.0 licence (© hashgraph-online). 1,182 words, ~2,867 tokens.

Download SKILL.mdSave it as .claude/skills/localized-pricing/SKILL.md (or your agent's skills folder).
name
localized-pricing
description
Dodo Payments multi-currency pricing, covering fixed localized prices per country or currency, Adaptive Currency live FX conversion at checkout, and purchasing power parity (PPP) percentages. Use when pricing in INR, EUR, or other local currencies, offering regional or PPP discounts, or resolving billing country and currency fallback.

Localized Pricing, Adaptive Currency, and PPP

This skill covers three distinct mechanisms for pricing in multiple countries and currencies. Developers often confuse them. This skill disambiguates them, shows how to implement each, and explains their interactions with plan changes, proration, and tax.

When to use this skill

  • You need to set fixed prices for specific countries or currencies.
  • You want to offer live foreign-exchange conversion at checkout.
  • You're considering purchasing power parity discounts for emerging markets.
  • You're unsure whether to use localized pricing or adaptive currency.
  • You need to handle billing-country and currency resolution, fallback behavior, or plan changes with localized prices.

Core concepts

Three mechanisms, three purposes
MechanismWhat it doesWho controls itWhen prices change
Localized PricingDeveloper sets fixed prices per country/currencyYou (via API)Only when you update them
Adaptive CurrencyLive FX conversion at checkout timeDodo (live rates)Every transaction, based on current rates
Purchasing Power Parity (PPP)Charges a per-country percentage of the base priceYou (business-wide country percentages in the dashboard, per-product opt-in)Only when you change the percentages

Key distinction: Localized prices are static. Adaptive currency is dynamic. PPP is a native per-country percentage applied to the base price before Adaptive Currency converts it.

Localized Pricing

Set fixed prices for specific countries and currencies. Once created, a localized price does not change unless you update it. It does not track exchange rates.

Use localized pricing when you want predictable, region-specific pricing that you control.

Adaptive Currency

Enable live foreign-exchange conversion at checkout. The customer sees their local currency, and Dodo converts the base price using current rates.

Use adaptive currency when you want to offer checkout in any currency without manually setting prices for each one.

PPP (Purchasing Power Parity)

PPP is native (docs). Dodo keeps one business-wide percentage per country (30 to 100, managed in the dashboard only), and the customer pays that share of your list price based on their billing country. Each product opts in with price.purchasing_power_parity: true (default false).

PPP requires Adaptive Currency: enable it under Settings → Business first, or product opt-in is rejected. A matching localized price always wins over PPP, and discount codes apply to the PPP-reduced price.

typescript
await client.products.create({
  name: 'Starter Plan',
  tax_category: 'saas',
  price: {
    type: 'one_time_price',
    currency: 'USD',
    price: 2000, // $20.00; a customer in India at 30% pays $6.00
    discount: 0,
    purchasing_power_parity: true,
  },
});

Product pricing mode

Every product has a pricing_mode that determines how prices are resolved:

  • by_country: Dodo looks up a localized price by the customer's billing country.
  • by_currency: Dodo looks up a localized price by the customer's billing currency.

Set the mode once per product via client.products.update(...). You cannot mix modes on the same product.

typescript
import DodoPayments from 'dodopayments';

const client = new DodoPayments({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
});

// Set pricing mode to by_country
await client.products.update('pdt_premium_plan', {
  pricing_mode: 'by_country',
});

// Or by_currency
await client.products.update('pdt_premium_plan', {
  pricing_mode: 'by_currency',
});

Localized Pricing CRUD

Localized prices are nested under products. All amounts are in the smallest currency unit (cents for USD, paise for INR).

Create a localized price
typescript
// ₹999.00 for customers in India
const localizedPrice = await client.products.localizedPrices.create('pdt_premium_plan', {
  currency: 'INR',
  country_code: 'IN',
  amount: 99900, // 999.00 in paise
});
List localized prices for a product
typescript
const prices = await client.products.localizedPrices.list('pdt_premium_plan');
console.log(prices);
Retrieve a specific localized price
typescript
const price = await client.products.localizedPrices.retrieve('lp_abc123', {
  product_id: 'pdt_premium_plan',
});
console.log(price.amount, price.currency, price.country_code);
Update a localized price
typescript
await client.products.localizedPrices.update('lp_abc123', {
  product_id: 'pdt_premium_plan',
  amount: 109900, // Update to ₹1099.00
});
Archive a localized price
typescript
await client.products.localizedPrices.archive('lp_abc123', {
  product_id: 'pdt_premium_plan',
});

Archived prices are soft-deleted. They no longer apply to new checkouts but remain in your history.

Adaptive Currency at checkout

Enable Adaptive Currency in the dashboard under Settings → Business (docs). Dodo then converts the base product price at live rates. Passing billing_currency and billing_address.country on a checkout session only pins the currency you charge in; if you omit them, Adaptive Currency picks the currency and country from the customer's IP address.

typescript
// Server route (e.g. POST /api/checkout): create the session and return its URL
export async function POST() {
  const session = await client.checkoutSessions.create({
    product_cart: [
      {
        product_id: 'pdt_premium_plan',
        quantity: 1,
      },
    ],
    billing_currency: 'AED', // Pin the charge currency (requires Adaptive Currency)
    billing_address: { country: 'AE' },
    return_url: 'https://example.com/return',
  });

  return Response.json({ checkout_url: session.checkout_url });
}

Never call the SDK or expose the API key in browser code. The browser only receives the URL and redirects:

typescript
// Browser
const res = await fetch('/api/checkout', { method: 'POST' });
const { checkout_url } = (await res.json()) as { checkout_url: string };
window.location.href = checkout_url;

Fees: Adaptive Currency adds a tiered conversion fee (4% under $500, 3% from $500 to $1,500, 2% above $1,500) on top of the displayed price by default. Turn on Fees Inclusive in Settings → Business to absorb the fee from your settlement instead. When a localized price matches, the transaction is always treated as fees-inclusive.

Charm Pricing: With Adaptive Currency on, Charm Pricing can round the converted price to a clean ending such as 49.99. It requires Adaptive Currency.

Adaptive currency is also available on subscription creation and plan changes. Check the API reference for billing_currency support on the specific endpoint you're using.

Billing country and currency resolution

Dodo resolves the customer's billing country and currency in this order:

  1. Explicit billing_address.country or billing_currency passed to checkout.
  2. Customer's stored address (if the customer exists in Dodo).
  3. IP geolocation (if available).
  4. Fallback to your product's base price and currency.

If no localized price exists for the resolved country or currency, Dodo falls back to the base price. This fallback is automatic and does not raise an error.

Show full SKILL.md (449 more words)Show less

Interaction with plan changes and proration

When a customer changes plans, localized prices apply to the new plan using the same billing country or currency as the original subscription.

Proration is calculated using the new plan's localized price (if one exists for the customer's country/currency).

typescript
await client.subscriptions.changePlan('sub_abc123', {
  product_id: 'pdt_enterprise_plan',
  quantity: 1,
  proration_billing_mode: 'prorated_immediately',
});

The new plan's localized price is used for the prorated amount.

Tax behavior with localized pricing

Tax is calculated on the localized price, not the base price. If you set a localized price of ₹999.00 for India, tax is applied to that amount.

Tax-inclusive pricing works the same way: the localized price is treated as the tax-inclusive total.

Common mistakes

Mistake 1: Assuming localized prices auto-update with exchange rates

Localized prices are fixed. If you set INR 999.00 today, it remains 999.00 until you manually update it. It does not track USD/INR rates.

If you want live FX conversion, use adaptive currency instead.

Mistake 2: Confusing by_country and by_currency
  • by_country: Dodo matches the customer's billing country to a localized price's country_code.
  • by_currency: Dodo matches the customer's billing currency to a localized price's currency.

A customer in India using a USD card will match by_currency: USD but not by_country: IN (unless you also set a USD price for India).

Mistake 3: Forgetting a fallback price

If you set pricing_mode: by_country but don't create a localized price for a customer's country, Dodo falls back to the base price: charged directly if the customer is already in your base currency, or converted through Adaptive Currency when that is enabled (docs). Without Adaptive Currency, that is the base price in the base currency, which is usually not what you want.

Always create localized prices for your target markets before enabling the mode.

Mistake 4: Mixing localized pricing and adaptive currency

You can use both on the same product, but they serve different purposes. Localized pricing is for fixed, region-specific prices. Adaptive currency is for live FX conversion.

If you set a localized price for India and also enable adaptive currency, the localized price takes precedence for customers in India.

Mistake 5: Reaching for a third-party tool for PPP

PPP is native: opt products in with price.purchasing_power_parity: true and set country percentages in the dashboard (Adaptive Currency must be on). Third-party tools like ParityDeals are only an alternative if you want their site banners; their codes are passed as ordinary discount_codes at checkout.

Mistake 6: Not handling missing localized prices in production

Always test your fallback behavior. If a customer's country or currency has no localized price, they see the base price. Decide whether that's acceptable or whether you need to block checkout for unsupported regions.

Resources

© hashgraph-online, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/dodopayments/dodo-agent-plugin/skills/localized-pricing of hashgraph-online/awesome-codex-plugins.

Open the folder on GitHubat commit 9e7b281

Compare with similar skills

Localized Pricing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Localized Pricing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Localized Pricing this skillhashgraph-online/awesome-codex-plugins1.3k—~2.9kAutomated safety check: PassApache-2.0
Pricingsickn33/agentic-awesome-skills47k1 repos~1.9kAutomated safety check: PassMIT
Fixalirezarezvani/claude-skills28k1 repos~765Automated safety check: PassMIT
Fix Issuepytorch/pytorch104k—~2.3kAutomated safety check: PassCustom licence
Pricing Strategyphuryn/pm-skills27k—~913Automated safety check: PassMIT
Pricing Strategyalirezarezvani/claude-skills28k1 repos~3.5kAutomated safety check: PassMIT

Similar skills

  • Pricing

    sickn33/agentic-awesome-skills

    When the user wants help with pricing decisions, packaging, or monetization strategy.

    47k GitHub starsUsed in 1 repo~1.9k tokens
    Sales & SupportAuto-check passed
  • Fix

    alirezarezvani/claude-skills

    Fix failing or flaky Playwright tests. An agent skill from alirezarezvani/claude-skills.

    28k GitHub starsUsed in 1 repo~765 tokens
    Testing & QAAuto-check passed
  • Fix Issue

    pytorch/pytorch

    Fix bugs reported in PyTorch GitHub issues by reproducing, root-causing, and implementing a fix in the local working tree.

    104k GitHub stars~2.3k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Pricing Strategy

    phuryn/pm-skills

    Analyze and design pricing strategies including pricing models, competitive pricing analysis, willingness-to-pay estimation, and price elasticity.

    27k GitHub stars~913 tokensUpdated 25 days ago
    Sales & SupportAuto-check passed
  • Pricing Strategy

    alirezarezvani/claude-skills

    Design, optimize, and communicate SaaS pricing — tier structure, value metrics, pricing pages, and price increase strategy.

    28k GitHub starsUsed in 1 repo~3.5k tokens
    Sales & SupportAuto-check passed
  • Cost Local

    ruvnet/ruflo

    Cost per million tokens on hardware you own (Ollama, llama.cpp, vLLM, LM Studio) from watts, electricity price, hardware price and measured tokens/second, and the utilisation at which local beats a…

    74k GitHub stars~336 tokensUpdated today
    AI & LLM EngineeringAuto-check: notes

More from hashgraph-online/awesome-codex-plugins

All 714 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.3k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.3k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.3k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.3k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Calle

    hashgraph-online/awesome-codex-plugins

    Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.

    1.3k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.3k GitHub stars~618 tokensUpdated today
    Auto-check passed

Questions about Localized Pricing

What does Localized Pricing do?

Dodo Payments multi-currency pricing, covering fixed localized prices per country or currency, Adaptive Currency live FX conversion at checkout, and purchasing power parity (PPP) percentages. Localized Pricing is an agent skill from hashgraph-online/awesome-codex-plugins. Dodo Payments multi-currency pricing, covering fixed localized prices per country or currency, Adaptive Currency live FX conversion at checkout, and purchasing power parity (PPP) percentages.

When should I use Localized Pricing?

Localized Pricing fits situations like: other local currencies; offering regional; resolving billing country and currency fallback.

How do I install Localized Pricing in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill localized-pricing -a claude-code`. Or copy the skill folder (plugins/dodopayments/dodo-agent-plugin/skills/localized-pricing in hashgraph-online/awesome-codex-plugins) into .claude/skills/localized-pricing in your project. Claude Code loads it when a task matches its description.

How do I install Localized Pricing in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill localized-pricing -a codex`. Or copy the skill folder (plugins/dodopayments/dodo-agent-plugin/skills/localized-pricing in hashgraph-online/awesome-codex-plugins) into .agents/skills/localized-pricing in your project. Codex loads it when a task matches its description.

Can I use Localized Pricing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill localized-pricing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/localized-pricing, .gemini/skills/localized-pricing, .github/skills/localized-pricing and .opencode/skills/localized-pricing in your project.

What does Localized Pricing need to run?

Going by SKILL.md and its folder, Localized Pricing needs credentials named DODO_PAYMENTS_API_KEY. Our summary lists: A credential in DODO_PAYMENTS_API_KEY.

Does Localized Pricing access the network?

SKILL.md names 1 domain. As links in the text: docs.dodopayments.com. This is read from the text; nothing was executed.

Is Localized Pricing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Localized Pricing use?

Localized Pricing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Localized Pricing use?

About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Localized Pricing?

Skills that share tags, products or a category with Localized Pricing: Pricing (sickn33/agentic-awesome-skills, 47k stars), Fix (alirezarezvani/claude-skills, 28k stars), Fix Issue (pytorch/pytorch, 104k stars) and Pricing Strategy (phuryn/pm-skills, 27k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Localized Pricing?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,255 GitHub stars. The repository holds 714 skills in this directory. The repository was last updated on October 9, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.