> ## 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 juillet 2026)

> Tarification localisée avec des règles de prix par devise et par pays, trois nouveaux modes de paiement (Satispay, BLIK, et Klarna pour les abonnements), droits des feature flags, enregistrement de domaine Apple Pay, et modules complémentaires modifiables à la caisse — plus l'extension de la période d'abonnement et la suppression d'images des modules complémentaires.

## Nouvelles Fonctionnalités

### 1. **Tarification Localisée**

Vous pouvez maintenant définir des **prix fixes par devise ou par pays** au lieu de laisser les taux de change décider du montant qu'un client voit. Activez-le en définissant un `pricing_mode` sur un produit, puis attachez une règle de prix par marché :

<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="Tarification localisée activée sur le formulaire produit avec sélection par pays" style={{ maxHeight: '450px', width: 'auto' }} width="850" height="580" data-path="images/localized-pricing/pricing-section.png" />
</Frame>

| Mode          | Ce qu'il fait                                                                  | Exemple                                          |
| ------------- | ------------------------------------------------------------------------------ | ------------------------------------------------ |
| `by_currency` | Un prix fixe par devise, quel que soit le pays                                 | Tous ceux payant en EUR voient **9,99 €**        |
| `by_country`  | Un prix spécifique à un pays, même lorsque plusieurs pays partagent une devise | **₹999 en Inde** sur un produit de base de 20 \$ |

Gérez les règles via les nouveaux endpoints `/products/{product_id}/localized-prices` (créer, lister, obtenir, modifier, archiver). Chaque `amount` de règle est un entier dans la plus petite unité de la devise — un prix que vous fixez, jamais une valeur convertie.

Lorsqu'aucune règle ne correspond, le produit conserve son comportement existant : les clients dans votre devise de base paient le prix de base directement, et tout le monde est converti par l'intermédiaire de la Conversion Adaptative des Devises. Lorsqu'une règle **correspond**, le client paie **exactement** le montant fixé — la commission de Change Adaptatif est absorbée plutôt qu'ajoutée par-dessus.

C'est le moyen natif recommandé pour gérer la **parité de pouvoir d'achat (PPP)**, les prix attractifs (9,99 €, ¥1000, ₹499), les promotions d'entrée de marché réversibles et l'ajustement de prix compétitif.

En savoir plus : [Tarification localisée](/features/localized-pricing) | [Conversion Adaptative des Devises](/features/adaptive-currency) | [Parité de Pouvoir d'Achat](/features/purchasing-power-parity)

### 2. **Nouveaux Modes de Paiement : Satispay, BLIK & Klarna pour les Abonnements**

Trois ajouts étendent la couverture locale en Europe et apportent le Buy Now, Pay Later à la facturation récurrente.

| Méthode      | Type API   | Région          | Devise | Abonnements               |
| ------------ | ---------- | --------------- | ------ | ------------------------- |
| **Satispay** | `satispay` | Europe (Italie) | EUR    | Oui                       |
| **BLIK**     | `blik`     | Pologne         | PLN    | Non (uniquement une fois) |
| **Klarna**   | `klarna`   | États-Unis      | USD    | **Oui (nouveau)**         |

* **Satispay** apparaît lors des passages en caisse en EUR pour les paiements uniques et par abonnement dans la plage de montants supportée.
* **BLIK**, le mode de paiement en ligne le plus populaire de Pologne (environ 60 % de part de marché), règle en `PLN` et prend en charge les paiements uniques.
* **Klarna** peut désormais être utilisé pour les **abonnements** sur les passages en caisse en USD avec une facturation US au-dessus du minimum de 50 \$ — il était auparavant limité aux paiements uniques.

En savoir plus : [Méthodes de Paiement Européennes](/features/payment-methods/europe) | [Buy Now, Pay Later](/features/payment-methods/bnpl) | [Aperçu des Méthodes de Paiement](/features/payment-methods)

### 3. **Droits des Feature Flags**

Un nouveau type de droit **feature flag** transforme Dodo Payments en un magasin de feature flags conscient de la facturation. Attachez un drapeau comme `advanced_reports` à un produit, et chaque client payant obtient immédiatement un accès que votre application peut vérifier — sans plateforme externe, sans OAuth, et sans étape de livraison qui peut échouer.

<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="Nouveau formulaire de feature flag avec un nom affiché, un ID de fonctionnalité, une description et des métadonnées sous forme de paires clé-valeur" style={{ maxHeight: '500px', width: 'auto' }} width="1196" height="776" data-path="images/entitlements/feature-flags/create.png" />
</Frame>

* Dès l'achat, l'accès est créé et passe directement à `delivered`. Il n'y a pas de phase `pending` et aucune action requise du client.
* L'accès transporte une charge utile typée `feature` — `{ "feature_type": "boolean", "feature_id": "advanced_reports" }` — et votre application lit `feature_id` pour déterminer ce qu'il faut débloquer.
* L'annulation, le remboursement ou la révocation manuelle déplace l'accès à `revoked`, et le drapeau disparaît automatiquement.

Vous pouvez lire les accès des clients avec le nouveau endpoint **`GET /customers/{customer_id}/entitlement-grants`** (filtres de statut et de type d'intégration, paginé), ou les garder synchronisés via des webhooks. Les métadonnées des droits supportent désormais une union scalaire `string | number | boolean`, afin que vous puissiez attacher des limites et quotas avec le drapeau.

En savoir plus : [Droit des Feature Flags](/features/entitlements/feature-flags) | [Droits](/features/entitlements/introduction)

### 4. **Enregistrement de Domaine Apple Pay**

Vous pouvez maintenant enregistrer et vérifier **vos propres domaines** pour Apple Pay directement depuis le tableau de bord, permettant un Apple Pay en un seul clic sur le paiement intégré hébergé sur votre site.

Configurez-le à partir de **Paramètres → Méthodes de Paiement** : sur la ligne **Apple Pay**, cliquez sur **Gérer les domaines**, téléchargez le fichier d'association de domaine, hébergez-le sur votre domaine, puis enregistrez et vérifiez. La vérification de domaine n'est nécessaire que pour le paiement intégré — le paiement en superposition, le paiement hébergé et les liens de paiement fonctionnent sans cela.

<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="Formulaire d'enregistrement de domaine avec un domaine saisi" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1672" data-path="images/apple-pay-domains/register-domain.png" />
</Frame>

<Info>
  Désactiver un domaine est un mécanisme d'arrêt qui empêche Dodo d'offrir Apple Pay sur ce domaine à la caisse — il ne désenregistre pas le domaine auprès d'Apple.
</Info>

En savoir plus : [Portefeuilles Numériques](/features/payment-methods/digital-wallets)

### 5. **Modules Complémentaires Modifiables à la Caisse**

Un nouveau feature flag `allow_editing_addons` sur les sessions de caisse permet aux clients de **ajouter ou supprimer des modules complémentaires sur un produit abonnable lors de la caisse**, au lieu de verrouiller le panier à un ensemble fixe de modules complémentaires.

```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'
});
```

Le drapeau par défaut est `false` et ne s'applique qu'aux produits abonnables. Il est également visible sur `GET /checkouts/{id}` afin que votre front-end sache si l'édition des modules complémentaires est activée pour une session.

En savoir plus : [Session de Caisse](/developer-resources/checkout-session) | [Modules Complémentaires](/features/addons)

## Améliorations et Corrections de Bugs

### 6. **Prolonger la Période d'un Abonnement via `PATCH /subscriptions`**

`PATCH /subscriptions/{id}` accepte désormais `subscription_period_count` et `subscription_period_interval`, vous permettant de **prolonger** la période actuelle d'un abonnement — par exemple, pour accorder du temps supplémentaire. L'expiration de l'abonnement (`expires_at`) est recomputée à partir du nouveau compte et intervalle et est conservée.

<Note>
  La période d'un abonnement ne peut être que **augmentée**, jamais raccourcie.
</Note>

En savoir plus : [Mettre à Jour l'Abonnement](/api-reference/subscriptions/patch-subscriptions)

### 7. **Supprimer des Images des Modules Complémentaires**

`PATCH /addons/{id}` prend désormais en charge le nettoyage de l'image d'un module complémentaire en envoyant `image_id: null`. Un `null` explicite supprime l'image, tandis que l'omission du champ le laisse inchangé — correspondant à la même convention utilisée par les produits et les collections de produits.

En savoir plus : [Mettre à Jour le Module Complémentaire](/api-reference/addons/update-addon)

### Autres Corrections et Améliorations

* Corrections de bugs mineurs et améliorations de la stabilité à travers la plateforme.
