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

> Analitik pihak ketiga, kustomisasi tema checkout, cegah perubahan paket saat pembayaran gagal, dan API buku besar saldo

## Fitur Baru

### 1. **Dukungan Analitik Pihak Ketiga**

Lacak perilaku pelanggan di Storefront, Checkout, dan Customer Portal dengan Google Analytics 4, Google Tag Manager, dan Meta Pixel. Tambahkan ID pelacakan Anda di **Settings → Analytics** untuk mulai mengumpulkan event e-commerce.

**Platform yang Didukung**

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

**Event yang Dilacak**

Event seperti `purchase`, `add_payment_info`, `view_item`, dan `view_item_list` secara otomatis dikirim ke platform analitik Anda saat pelanggan menjelajah dan menyelesaikan pembelian.

<Check>
  Didukung di Storefront, hosted Checkout, overlay/inline Checkout, dan Customer Portal.
</Check>

Pelajari selengkapnya: [Analitik Pihak Ketiga](/features/analytics)

### 2. **Kustomisasi Tema Checkout**

Sesuaikan tampilan checkout melalui parameter `customization.theme_config` saat membuat sesi checkout. Konfigurasikan warna, font, radius border, dan teks tombol untuk mode terang dan gelap.

**Opsi Konfigurasi**

| Property           | Description                         |
| ------------------ | ----------------------------------- |
| `light` / `dark`   | Skema warna untuk setiap mode       |
| `font_primary_url` | URL font khusus                     |
| `font_size`        | `xs`, `sm`, `md`, `lg`, `xl`, `2xl` |
| `radius`           | Radius border (misalnya `8px`)      |
| `pay_button_text`  | Teks tombol khusus                  |

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_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'
});
```

Pelajari selengkapnya: [Kustomisasi Tema Checkout](/features/checkout#checkout-theme-customization)

### 3. **Cegah Perubahan Paket saat Pembayaran Gagal**

Parameter `on_payment_failure` baru untuk perubahan paket langganan mengendalikan perilaku saat pembayaran gagal.

| Mode             | Perilaku                                                                 |
| ---------------- | ------------------------------------------------------------------------ |
| `prevent_change` | Pertahankan langganan pada paket saat ini sampai pembayaran berhasil     |
| `apply_change`   | Terapkan perubahan paket segera terlepas dari hasil pembayaran (default) |

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

<Tip>
  Gunakan `prevent_change` untuk peningkatan kritis di mana Anda ingin memastikan pembayaran sebelum memberikan akses ke fitur premium.
</Tip>

Pelajari selengkapnya: [Menangani Kegagalan Pembayaran](/developer-resources/subscription-upgrade-downgrade#handling-payment-failures)

## Pembaruan API

### API Buku Besar Saldo

Endpoint `GET /balances/ledger` baru untuk mengambil entri buku besar akun Anda dengan penyaringan dan paginasi.

| Parameter                           | Description                                                                 |
| ----------------------------------- | --------------------------------------------------------------------------- |
| `created_at_gte` / `created_at_lte` | Menyaring berdasarkan rentang tanggal                                       |
| `event_type`                        | Menyaring berdasarkan `payment`, `refund`, `dispute`, `payout`, dan lainnya |
| `currency`                          | Menyaring berdasarkan kode mata uang                                        |
| `reference_object_id`               | Menyaring berdasarkan ID pembayaran/pengembalian/kontroversi tertentu       |

Pelajari selengkapnya: [API Buku Besar Saldo](/api-reference/balance-ledger/list-ledger-entries)

### Respons Pembayaran: `refund_status`

Menambahkan field `refund_status` ke respons `GET /payments/{paymentId}` untuk memeriksa dengan cepat apakah pembayaran telah dikembalikan tanpa harus meminta endpoint refund secara terpisah.
