> ## 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 de febrero de 2026)

> Analítica de terceros, personalización del tema del checkout, prevención del cambio de plan cuando falla el pago y API del libro mayor de saldo

## Nuevas funcionalidades

### 1. **Compatibilidad con analítica de terceros**

Realiza un seguimiento del comportamiento de los clientes en Storefront, Checkout y Customer Portal con Google Analytics 4, Google Tag Manager y Meta Pixel. Añade tus ID de seguimiento en **Configuración → Analytics** para empezar a recopilar eventos de comercio electrónico.

**Plataformas compatibles**

| Plataforma         | Formato del ID           |
| ------------------ | ------------------------ |
| Google Analytics 4 | `G-XXXXXXXXXX`           |
| Google Tag Manager | `GTM-XXXXXXX`            |
| Meta Pixel         | Numérico (10-20 dígitos) |

**Eventos registrados**

Los eventos como `purchase`, `add_payment_info`, `view_item` y `view_item_list` se envían automáticamente a tus plataformas de analítica mientras los clientes navegan y completan sus compras.

<Check>
  Compatible con Storefront, Checkout alojado, Checkout superpuesto/en línea y Customer Portal.
</Check>

Más información: [Analítica de terceros](/features/analytics)

### 2. **Personalización del tema del Checkout**

Personaliza la apariencia del checkout mediante el parámetro `customization.theme_config` al crear sesiones de checkout. Configura colores, fuentes, radio de borde y texto de los botones para los modos claro y oscuro.

**Opciones de configuración**

| Propiedad          | Descripción                         |
| ------------------ | ----------------------------------- |
| `light` / `dark`   | Esquemas de color para cada modo    |
| `font_primary_url` | URL de fuente personalizada         |
| `font_size`        | `xs`, `sm`, `md`, `lg`, `xl`, `2xl` |
| `radius`           | Radio de borde (por ejemplo, `8px`) |
| `pay_button_text`  | Texto personalizado del botón       |

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

Más información: [Personalización del tema del Checkout](/features/checkout#checkout-theme-customization)

### 3. **Prevenir el cambio de plan cuando falla el pago**

El nuevo parámetro `on_payment_failure` para los cambios de plan de suscripción controla el comportamiento cuando falla el pago.

| Modo             | Comportamiento                                                                                      |
| ---------------- | --------------------------------------------------------------------------------------------------- |
| `prevent_change` | Mantener la suscripción en el plan actual hasta que el pago se complete correctamente               |
| `apply_change`   | Aplicar el cambio de plan inmediatamente independientemente del resultado del pago (predeterminado) |

```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>
  Usa `prevent_change` para actualizaciones críticas en las que quieras asegurarte de que el pago se complete antes de conceder acceso a las funciones premium.
</Tip>

Más información: [Gestión de fallos de pago](/developer-resources/subscription-upgrade-downgrade#handling-payment-failures)

## Actualizaciones de la API

### API del libro mayor de saldo

Nuevo endpoint `GET /balances/ledger` para recuperar las entradas del libro mayor de tu cuenta con filtrado y paginación.

| Parámetro                           | Descripción                                                |
| ----------------------------------- | ---------------------------------------------------------- |
| `created_at_gte` / `created_at_lte` | Filtrar por intervalo de fechas                            |
| `event_type`                        | Filtrar por `payment`, `refund`, `dispute`, `payout`, etc. |
| `currency`                          | Filtrar por código de moneda                               |
| `reference_object_id`               | Filtrar por un ID específico de pago/reembolso/disputa     |

Más información: [API del libro mayor de saldo](/api-reference/balance-ledger/list-ledger-entries)

### Respuesta de pago: `refund_status`

Se añadió el campo `refund_status` a la respuesta `GET /payments/{payment_id}` para comprobar rápidamente si un pago ha sido reembolsado sin consultar por separado el endpoint de reembolsos.
