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

# v1.106.0 (7 de julho de 2026)

> Preços Localizados com regras por moeda e por país, três novos métodos de pagamento (Satispay, BLIK e Klarna para assinaturas), flags de recursos, registro de domínio Apple Pay e complementos editáveis no checkout — além de extensão de período de assinatura e remoção de imagem de complemento.

## Novos Recursos

### 1. **Preços Localizados**

Agora você pode definir **preços fixos por moeda ou por país** em vez de deixar que a taxa de câmbio decida o valor que um cliente vê. Ative isso configurando um `pricing_mode` em um produto, depois anexe uma regra de preço por mercado:

<Frame>
  <img src="https://mintcdn.com/dodopayments/hpHKp5MybOFgIhM2/images/localized-pricing/pricing-section.png?fit=max&auto=format&n=hpHKp5MybOFgIhM2&q=85&s=933fc68155db9639d36d624c0f84dfee" alt="Preços Localizados habilitados no formulário do produto com Por País selecionado" style={{ maxHeight: '450px', width: 'auto' }} width="850" height="580" data-path="images/localized-pricing/pricing-section.png" />
</Frame>

| Modo          | O que faz                                                                           | Exemplo                                      |
| ------------- | ----------------------------------------------------------------------------------- | -------------------------------------------- |
| `by_currency` | Um preço fixo por moeda, independentemente do país                                  | Todos que pagam em EUR veem **€9,99**        |
| `by_country`  | Um preço específico para um país, mesmo quando vários países compartilham uma moeda | **₹999 na Índia** em um produto base de \$20 |

Gerencie as regras através dos novos endpoints `/products/{product_id}/localized-prices` (criar, listar, obter, patch, arquivar). O `amount` de cada regra é um inteiro na menor unidade da moeda — um preço que você define, nunca um valor convertido.

Quando nenhuma regra corresponde, o produto mantém seu comportamento existente: clientes em sua moeda base pagam o preço base diretamente e todos os outros são convertidos através do Adaptive Currency. Quando uma regra **corresponde**, o cliente paga **exatamente** o valor que você definiu — a taxa FX do Adaptive Currency é absorvida em vez de adicionada no topo.

Esta é a maneira nativa recomendada para executar **Paridade de Poder de Compra (PPP)**, charm pricing (€9,99, ¥1000, ₹499), promoções de entrada de mercado reversíveis e ajuste de preços competitivos.

Saiba mais: [Preços Localizados](/features/localized-pricing) | [Adaptive Currency](/features/adaptive-currency) | [Paridade de Poder de Compra](/features/purchasing-power-parity)

### 2. **Novos Métodos de Pagamento: Satispay, BLIK & Klarna para Assinaturas**

Três adições ampliam a cobertura local na Europa e trazem Compre Agora, Pague Depois para cobranças recorrentes.

| Método       | Tipo de API | Região          | Moeda | Assinaturas           |
| ------------ | ----------- | --------------- | ----- | --------------------- |
| **Satispay** | `satispay`  | Europa (Itália) | EUR   | Sim                   |
| **BLIK**     | `blik`      | Polônia         | PLN   | Não (somente uma vez) |
| **Klarna**   | `klarna`    | Estados Unidos  | USD   | **Sim (novo)**        |

* **Satispay** aparece em checkouts em EUR tanto para pagamentos únicos quanto para assinaturas dentro do intervalo suportado.
* **BLIK**, o método de pagamento online mais popular da Polônia (\~60% de participação de mercado), liquida em `PLN` e suporta pagamentos únicos.
* **Klarna** agora pode ser usado para **assinaturas** em checkouts em USD com faturamento nos EUA acima do mínimo de \$50 — anteriormente era limitado a pagamentos únicos.

Saiba mais: [Métodos de Pagamento Europeus](/features/payment-methods/europe) | [Compre Agora, Pague Depois](/features/payment-methods/bnpl) | [Visão Geral de Métodos de Pagamento](/features/payment-methods)

### 3. **Entitlements de Flag de Recursos**

Um novo tipo de entitlement de **flag de recurso** transforma o Dodo Payments em uma loja de flags de recursos sensível à cobrança. Anexe uma flag como `advanced_reports` a um produto, e todo cliente pagante recebe instantaneamente uma concessão que seu aplicativo pode verificar — sem plataforma externa, sem OAuth e sem etapa de entrega que possa falhar.

<Frame>
  <img src="https://mintcdn.com/dodopayments/oS2MTbJuY6MeBjjs/images/entitlements/feature-flags/create.png?fit=max&auto=format&n=oS2MTbJuY6MeBjjs&q=85&s=08d8fc2cfee102ff08fd150c76b5fcf9" alt="Novo formulário de Flag de Recurso com nome de exibição, ID do recurso, descrição e entradas de metadados chave-valor" style={{ maxHeight: '500px', width: 'auto' }} width="1196" height="776" data-path="images/entitlements/feature-flags/create.png" />
</Frame>

* Na compra, a concessão é criada e movida diretamente para `delivered`. Não há fase `pending` e nenhuma ação do cliente.
* A concessão carrega uma carga útil tipada `feature` — `{ "feature_type": "boolean", "feature_id": "advanced_reports" }` — e seu aplicativo lê `feature_id` para decidir o que desbloquear.
* Cancelamento, reembolso ou revogação manual move a concessão para `revoked`, e a flag desaparece automaticamente.

Você pode ler as concessões de um cliente com o novo endpoint **`GET /customers/{customer_id}/entitlement-grants`** (filtros de status e tipo de integração, paginado), ou mantê-las em sincronia via webhooks. Metadados de entitlement agora também suportam uma união escalar `string | number | boolean`, para que você possa anexar limites e cotas juntamente com a flag.

Saiba mais: [Entitlement de Flag de Recurso](/features/entitlements/feature-flags) | [Entitlements](/features/entitlements/introduction)

### 4. **Registro de Domínio Apple Pay**

Agora você pode registrar e verificar **seus próprios domínios** para Apple Pay diretamente do painel, permitindo Apple Pay com um toque no checkout incorporado em seu site.

Configure a partir de **Configurações → Métodos de Pagamento**: na linha **Apple Pay**, clique em **Gerenciar domínios**, baixe o arquivo de associação de domínio, hospede-o em seu domínio, depois registre e verifique. A verificação de domínio só é necessária para checkout incorporado — checkout em overlay, checkout hospedado e links de pagamento funcionam sem ela.

<Frame caption="Register the domain where you embed checkout">
  <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/register-domain.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=9c2bf22e51c8ff188a4e11b36b24c136" alt="Formulário de Registro de um domínio com um domínio inserido" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1672" data-path="images/apple-pay-domains/register-domain.png" />
</Frame>

<Info>
  Desativar um domínio é um botão de emergência que impede o Dodo de oferecer Apple Pay nesse domínio no checkout — não cancela o registro do domínio com a Apple.
</Info>

Saiba mais: [Wallets Digitais](/features/payment-methods/digital-wallets)

### 5. **Complementos Editáveis no Checkout**

Uma nova flag de recurso `allow_editing_addons` nas sessões de checkout permite que os clientes **adicionem ou removam complementos em um produto de assinatura durante o checkout**, em vez de bloquear o carrinho para um conjunto fixo de complementos.

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  feature_flags: {
    allow_editing_addons: true // customers can edit add-ons at checkout
  },
  return_url: 'https://yoursite.com/return'
});
```

A flag default é `false` e só se aplica a produtos de assinatura. Também é exibida em `GET /checkouts/{id}` para que seu front-end saiba se a edição de complementos está habilitada para uma sessão.

Saiba mais: [Sessão de Checkout](/developer-resources/checkout-session) | [Complementos](/features/addons)

## Melhorias e Correções de Bugs

### 6. **Estender o Período de uma Assinatura via `PATCH /subscriptions`**

`PATCH /subscriptions/{id}` agora aceita `subscription_period_count` e `subscription_period_interval`, para que você possa **estender** o período atual de uma assinatura — por exemplo, para conceder tempo extra. O vencimento da assinatura (`expires_at`) é recalculado a partir do novo contador e intervalo e persistido.

<Note>
  O período de uma assinatura só pode ser **aumentado**, nunca reduzido.
</Note>

Saiba mais: [Atualizar Assinatura](/api-reference/subscriptions/patch-subscriptions)

### 7. **Remover Imagens de Complementos**

`PATCH /addons/{id}` agora suporta remover a imagem de um complemento enviando `image_id: null`. Um `null` explícito remove a imagem, enquanto omitir o campo deixa-a inalterada — correspondendo à mesma convenção usada por produtos e coleções de produtos.

Saiba mais: [Atualizar Complemento](/api-reference/addons/update-addon)

### Outras Correções e Melhorias

* Pequenas correções de bugs e melhorias de estabilidade em toda a plataforma.
