> ## 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.81.0 (6 février 2026)

> Analyses tierces, personnalisation du thème de paiement, empêcher le changement de forfait en cas d’échec de paiement et API du grand livre de solde

## Nouvelles fonctionnalités

### 1. **Prise en charge des analyses tierces**

Suivez le comportement des clients sur Storefront, Checkout et Customer Portal avec Google Analytics 4, Google Tag Manager et Meta Pixel. Ajoutez vos identifiants de suivi dans **Paramètres → Analyses** pour commencer à collecter les événements e-commerce.

**Plateformes prises en charge**

| Platform           | ID Format              |
| ------------------ | ---------------------- |
| Google Analytics 4 | `G-XXXXXXXXXX`         |
| Google Tag Manager | `GTM-XXXXXXX`          |
| Meta Pixel         | Numeric (10-20 digits) |

**Événements suivis**

Des événements comme `purchase`, `add_payment_info`, `view_item` et `view_item_list` sont envoyés automatiquement à vos plateformes d’analyse au fur et à mesure que les clients naviguent et finalisent leurs achats.

<Check>
  Pris en charge sur Storefront, Checkout hébergé, Checkout superposé/inline et Customer Portal.
</Check>

En savoir plus : [Third-Party Analytics](/features/analytics)

### 2. **Personnalisation du thème de Checkout**

Personnalisez l’apparence du checkout via le paramètre `customization.theme_config` lors de la création des sessions de checkout. Configurez les couleurs, les polices, le rayon des bordures et le texte des boutons pour les modes clair et sombre.

**Options de configuration**

| Property           | Description                          |
| ------------------ | ------------------------------------ |
| `light` / `dark`   | Schémas de couleurs pour chaque mode |
| `font_primary_url` | URL de police personnalisée          |
| `font_size`        | `xs`, `sm`, `md`, `lg`, `xl`, `2xl`  |
| `radius`           | Rayon de bordure (par ex. `8px`)     |
| `pay_button_text`  | Texte personnalisé des boutons       |

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'pdt_123', quantity: 1 }],
  customization: {
    theme_config: {
      radius: '8px',
      pay_button_text: 'Complete Purchase',
      light: { button_primary: '#0066ff', text_primary: '#1a1a1a' },
      dark: { button_primary: '#3385ff', text_primary: '#ffffff' }
    }
  },
  return_url: 'https://yoursite.com/return'
});
```

En savoir plus : [Checkout Theme Customization](/features/checkout#checkout-theme-customization)

### 3. **Éviter le changement de forfait en cas d’échec de paiement**

Le nouveau paramètre `on_payment_failure` pour les changements de forfait d’abonnement contrôle le comportement lorsque le paiement échoue.

| Mode             | Comportement                                                                                         |
| ---------------- | ---------------------------------------------------------------------------------------------------- |
| `prevent_change` | Maintenir l’abonnement sur le forfait actuel jusqu’à ce que le paiement réussisse                    |
| `apply_change`   | Appliquer immédiatement le changement de forfait indépendamment du résultat du paiement (par défaut) |

```typescript theme={null}
await client.subscriptions.changePlan('sub_123', {
  product_id: 'pdt_pro',
  quantity: 1,
  proration_billing_mode: 'prorated_immediately',
  on_payment_failure: 'prevent_change'
});
```

<Tip>
  Utilisez `prevent_change` pour les mises à niveau critiques lorsque vous souhaitez garantir le paiement avant d’accorder l’accès aux fonctionnalités premium.
</Tip>

En savoir plus : [Handling Payment Failures](/developer-resources/subscription-upgrade-downgrade#handling-payment-failures)

## Mises à jour de l’API

### API du grand livre de solde

Nouveau point de terminaison `GET /balances/ledger` pour récupérer les écritures du grand livre de votre compte avec filtrage et pagination.

| Parameter                           | Description                                                |
| ----------------------------------- | ---------------------------------------------------------- |
| `created_at_gte` / `created_at_lte` | Filtrer par plage de dates                                 |
| `event_type`                        | Filtrer par `payment`, `refund`, `dispute`, `payout`, etc. |
| `currency`                          | Filtrer par code de devise                                 |
| `reference_object_id`               | Filtrer par ID spécifique de paiement/remboursement/litige |

En savoir plus : [Balance Ledger API](/api-reference/balance-ledger/list-ledger-entries)

### Réponse de paiement : `refund_status`

Ajout du champ `refund_status` à la réponse `GET /payments/{payment_id}` pour vérifier rapidement si un paiement a été remboursé sans interroger séparément l’endpoint des remboursements.
