> ## Documentation Index
> Fetch the complete documentation index at: https://commet.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Markets y precios regionales

> Combina precios por moneda, Markets de países reutilizables y variantes seleccionables.

Commet tiene dos capas de precios complementarias:

| Capa | Para qué sirve |
| - | - |
| **Currency Pricing** | Define valores del plan, balance y overage en una moneda de presentación |
| **Markets** | Agrupa países que deben resolver overrides explícitos de precio y moneda |

Currency Pricing sigue siendo el fallback. Agregá Markets cuando necesites segmentación por país o variantes seleccionables.

## Crear un Market

Un Market es un recurso de Sales de primer nivel. No requiere un plan ni un precio.

```typescript theme={null}
const argentina = await commet.markets.create({
  name: 'Argentina',
  countryCodes: ['AR'],
})

const southernCone = await commet.markets.create({
  name: 'Cono Sur',
  countryCodes: ['BO', 'PY', 'UY'],
})
```

Un país puede pertenecer a un solo Market activo. Las rutas REST de v9 son `/markets` y `/markets/{id}`.

## Agregar precios de Market

El monto base sigue siendo el fallback para todos los países sin override de Market.

```typescript theme={null}
const basePrice = await commet.plans.addPrice({
  id: 'pln_pro',
  billingInterval: 'monthly',
  price: 4900,
  isDefault: true,
  marketPrices: [
    { marketGroupId: argentina.id, currency: 'ars', price: 6490000 },
    { marketGroupId: southernCone.id, currency: 'usd', price: 3900 },
  ],
})
```

En checkout, Commet resuelve el Market a partir del país de la solicitud. El checkout de Sandbox permite cambiar **Country** para probar otro Market; el checkout live ignora ese override.

## Variantes seleccionables

Una variante hereda un precio base y solo reemplaza Markets ya configurados en esa base:

```typescript theme={null}
const foundingCustomers = await commet.plans.addPrice({
  id: 'pln_pro',
  billingInterval: 'monthly',
  inheritsFromPriceId: basePrice.id,
  metadata: { name: 'Founding customers' },
  marketPrices: [
    { marketGroupId: argentina.id, currency: 'ars', price: 3990000 },
  ],
})
```

Enviá `priceId` solamente cuando el customer elige deliberadamente esa variante:

```typescript theme={null}
await commet.subscriptions.create({
  customerId: 'user_123',
  planCode: 'pro',
  priceId: foundingCustomers.id,
})
```

Omitir `priceId` conserva la resolución normal del precio por defecto y Market.

## Renovación y archivado

* La suscripción guarda la identidad del precio seleccionado.
* Las renovaciones usan el valor actual de esa fila de precio.
* Una variante hereda todos los Markets que no reemplaza.
* Archivar un precio impide nuevas selecciones sin romper suscripciones existentes.
* Un Market referenciado no puede eliminarse.

Las fases aceptadas de una Offer son un snapshot inmutable separado; el precio seleccionado del catálogo sigue siendo editable.

## Compatibilidad con v8

La API `2026-07-24` y el SDK v8 conservan `/pricing/market-groups` y `commet.pricing.*`. La API `2026-07-31` y el SDK v9 usan la superficie de Markets de primer nivel.

## Relacionado

* [Offers](/docs/es/offers)
* [Crear planes](/docs/es/create-plans)
* [Administrar suscripciones](/docs/es/manage-subscriptions)
* [Referencia de la API de Markets](/docs/es/api-reference/markets/list-markets)


## Related topics

- [CLI](/docs/es/cli.md)
- [Administrar suscripciones](/docs/es/manage-subscriptions.md)
- [Impuestos en moneda local](/docs/es/local-currency-taxes.md)
- [Introducción](/docs/es/index.md)
- [Grupos de planes](/docs/es/plan-groups.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.