> ## 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.

# Charm Pricing

> Bulatkan harga hasil konversi ke akhiran yang rapi dan disesuaikan secara psikologis seperti 49.99 secara otomatis, dalam setiap mata uang, tanpa menetapkan harga per pasar secara manual.

<Info>
  Charm Pricing membulatkan harga hasil konversi ke akhiran yang rapi, seperti **49.99**, pada setiap checkout. Anda menetapkan aturan sekali. Dodo Payments menerapkannya dalam mata uang setiap pelanggan.
</Info>

## Apa Itu Charm Pricing?

[Adaptive Currency](/features/adaptive-currency) mengonversi harga dasar Anda berdasarkan nilai tukar terkini. Hasilnya akurat, tetapi jarang terlihat menarik: produk seharga \$47.00 dapat ditampilkan sebagai **€43.12** hari ini dan **€43.47** besok.

Charm Pricing mengambil jumlah hasil konversi tersebut dan memindahkannya ke akhiran terdekat yang rapi. Pelanggan melihat **49.99**, bukan 43.12. Akhirannya tetap stabil saat nilai tukar berubah.

Anda tidak perlu menetapkan harga per pasar. Pilih satu aturan pembulatan, lalu aturan tersebut berlaku untuk setiap mata uang.

<Note>
  Charm Pricing memerlukan [Adaptive Currency](/features/adaptive-currency). Aktifkan Adaptive Currency terlebih dahulu.
</Note>

## Manfaat Utama

* **Harga rapi dalam setiap mata uang**: Satu aturan berlaku untuk semua pasar. Anda tidak perlu memelihara daftar harga.
* **Akhiran stabil**: Akhiran tidak berubah ketika nilai tukar bergerak beberapa persen.
* **Tanpa artefak konversi**: Pelanggan tidak akan pernah melihat 43.12 atau 1043.87.
* **Otomatis untuk pasar baru**: Mata uang yang belum pernah Anda beri harga tetap mendapatkan angka yang rapi.

<Info>
  Untuk menetapkan harga tertentu secara manual bagi satu pasar, gunakan [Localized Pricing](/features/localized-pricing). Harga terlokalisasi selalu mengalahkan Charm Pricing untuk produk tersebut.
</Info>

## Mengaktifkan Charm Pricing

<Steps>
  <Step title="Enable Adaptive Currency">
    Buka **Settings → Business**. Di **Business Settings**, aktifkan **Adaptive Currency**. Charm Pricing tidak berfungsi tanpanya.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/Ovz6j1aDoP1Nl_kB/images/charm-pricing/adaptive-currency-toggle.png?fit=max&auto=format&n=Ovz6j1aDoP1Nl_kB&q=85&s=a9d847b5ee912ddf416bba76f7f75994" alt="Adaptive Currency toggle in Business Settings" style={{ maxHeight: '360px', width: 'auto' }} width="927" height="581" data-path="images/charm-pricing/adaptive-currency-toggle.png" />
    </Frame>
  </Step>

  <Step title="Turn on Charm Pricing">
    Di bagian **Business Settings** yang sama, aktifkan **Charm Pricing** — *Bulatkan harga ke angka yang lebih rapi dan menarik*. Jenis pembulatan saat ini akan muncul di bawah toggle.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/Ovz6j1aDoP1Nl_kB/images/charm-pricing/charm-toggle.png?fit=max&auto=format&n=Ovz6j1aDoP1Nl_kB&q=85&s=e8038d1b4c0df6a0ed246af73e83011c" alt="Charm Pricing enabled in Business Settings" style={{ maxHeight: '400px', width: 'auto' }} width="895" height="392" data-path="images/charm-pricing/charm-toggle.png" />
    </Frame>

    <Warning>
      Perubahan hanya berlaku untuk transaksi mendatang. Subscription yang sudah ada tetap menggunakan aturan pembulatan yang berlaku saat subscription tersebut dimulai. Lihat [Subscriptions](#subscriptions).
    </Warning>
  </Step>

  <Step title="Set the rounding type and steps">
    Klik **Edit** untuk membuka **Set up Charm Pricing**. Pilih **Rounding type**, lalu sesuaikan **Rounding step** untuk rentang harga apa pun. Klik **Save Changes**.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/Ovz6j1aDoP1Nl_kB/images/charm-pricing/rounding-type.png?fit=max&auto=format&n=Ovz6j1aDoP1Nl_kB&q=85&s=52b3cac8b3644aa2e129019cc989b617" alt="Set up Charm Pricing dialog with the rounding type selector and the Try it preview" style={{ maxHeight: '620px', width: 'auto' }} width="1122" height="404" data-path="images/charm-pricing/rounding-type.png" />
    </Frame>

    Gunakan **Try it** untuk memeriksa nilai sebelum menyimpannya. Masukkan jumlah dan mata uang, lalu dialog akan menampilkan hasil serta step yang digunakan.

    Dodo Payments menyediakan step default untuk setiap rentang. Lihat [Rounding types](#rounding-types) dan [Rounding steps](#rounding-steps).

    <Frame>
      <img src="https://mintcdn.com/dodopayments/Ovz6j1aDoP1Nl_kB/images/charm-pricing/bands.png?fit=max&auto=format&n=Ovz6j1aDoP1Nl_kB&q=85&s=49814c0af4e7d120d4ae64c868943a84" alt="Rounding step table, one step for each price range" style={{ maxHeight: '440px', width: 'auto' }} width="527" height="485" data-path="images/charm-pricing/bands.png" />
    </Frame>
  </Step>

  <Step title="Confirm at checkout">
    <Check>
      Buka checkout pengujian dengan negara penagihan yang menggunakan mata uang lain. Pastikan harga menampilkan akhiran yang Anda harapkan.
    </Check>
  </Step>
</Steps>

## Cara Penghitungan Harga

Dodo Payments menerapkan charm pada harga **per unit**, setelah konversi mata uang dan diskon apa pun, serta sebelum pajak.

1. **Tentukan step.** Jumlah tersebut memilih step dari tabel rounding-step. Harga \$47 berada dalam rentang 10–99, jadi step-nya adalah **10**.
2. **Pilih target.** Step memberikan dua kandidat, **40** dan **50**. Jenis pembulatan menentukan salah satunya. Dengan **Nearest**, 47 lebih dekat ke 50.
3. **Potong akhiran.** Dodo Payments mengurangi seperseribu step, sehingga 50 menjadi **49.99**. Potongan tidak pernah kurang dari satu unit minor. **Whole** melewati langkah ini.

### Jenis pembulatan

| Jenis       | Yang dipilih                                              | \$47 menjadi |
| :---------- | :-------------------------------------------------------- | :----------- |
| **Nearest** | Kandidat yang lebih dekat. Jika sama, dibulatkan ke atas. | \$49.99      |
| **Floor**   | Selalu kandidat di bawah harga.                           | \$39.99      |
| **Ceiling** | Selalu kandidat di atas harga.                            | \$49.99      |
| **Whole**   | Kandidat terdekat, tanpa potongan.                        | \$50.00      |

<Warning>
  **Floor** dapat menurunkan harga hampir sebesar satu step penuh. Harga \$47 menjadi \$39.99, turun 15%. Periksa dampaknya pada rentang harga Anda sebelum memilihnya.
</Warning>

### Rounding steps

Step bergantung pada besar harga dalam unit utama mata uang tersebut. Berikut adalah nilai defaultnya. Anda dapat mengubah **Rounding step** untuk rentang apa pun. Anda tidak dapat mengubah rentangnya.

| Rentang harga         | Step   |
| :-------------------- | :----- |
| 1 – 9                 | 1      |
| 10 – 99               | 10     |
| 100 – 999             | 100    |
| 1,000 – 9,999         | 1,000  |
| 10,000 – 99,999       | 10,000 |
| 100,000 – 999,999     | 10,000 |
| 1,000,000 – 9,999,999 | 10,000 |
| 10,000,000 and above  | 10,000 |

Step berhenti bertambah pada 10,000. Ini menjaga perubahan tetap kecil untuk jumlah besar, dan penting bagi mata uang dengan banyak unit per dolar, seperti IDR dan VND.

<Note>
  Step yang besar dapat memindahkan harga cukup jauh. Dengan step default 1,000, harga hasil konversi **\$1,234** menjadi **\$999.00**. Turunkan step untuk rentang tersebut jika perubahannya terlalu besar bagi katalog Anda.
</Note>

### Contoh perhitungan

| Harga hasil konversi | Mata uang | Step  | Jenis pembulatan | Yang dibayar pelanggan |
| :------------------- | :-------- | :---- | :--------------- | :--------------------- |
| \$47.00              | USD       | 10    | Nearest          | **\$49.99**            |
| \$47.00              | USD       | 10    | Whole            | **\$50.00**            |
| \$47.00              | USD       | 10    | Floor            | **\$39.99**            |
| \$5.00               | USD       | 1     | Nearest          | **\$4.99**             |
| ¥4,700               | JPY       | 1,000 | Nearest          | **¥4,999**             |
| ¥5                   | JPY       | 1     | Nearest          | **¥4**                 |

<Info>
  Mata uang tanpa angka desimal, seperti JPY, mendapatkan potongan sebesar satu unit penuh. Akhirannya adalah ¥4,999, bukan ¥4,999.99.
</Info>

### Saat charm tidak berlaku

Dodo Payments mempertahankan harga hasil konversi tanpa perubahan dalam kasus berikut:

* Step lebih besar daripada harga. Harga tidak dapat berubah kurang dari satu step penuh.
* Hasilnya nol atau kurang.
* Tidak ada step yang cocok dengan jumlah tersebut.

## Cara Penerapannya di Checkout

Charm Pricing adalah langkah terakhir dalam penghitungan harga. Untuk produk tanpa harga terlokalisasi, urutannya adalah:

1. **Harga dasar** — harga yang Anda tetapkan pada produk.
2. **[Purchasing Power Parity](/features/purchasing-power-parity)** — jika produk ikut serta, persentase negara akan diterapkan.
3. **Diskon** — diskon produk dan [discount code](/features/discount-codes) apa pun akan diterapkan.
4. **[Konversi mata uang](/features/adaptive-currency)** — jumlah setelah diskon dikonversi ke mata uang pelanggan berdasarkan nilai tukar terkini.
5. **Pembulatan Charm** — hasilnya dipindahkan ke akhiran yang rapi.
6. **Pajak** — dihitung dari jumlah yang telah diberi charm. Lihat [Tax-Inclusive Pricing](/features/tax-inclusive-pricing).

Setiap baris keranjang dihitung secara terpisah. Harga "sebelum diskon" yang dicoret menggunakan step pembulatan yang sama dengan harga yang ditagihkan, sehingga charm tidak pernah tampil sebagai diskon yang tidak Anda berikan.

<Warning>
  **Baris yang diberi charm membuat seluruh transaksi termasuk biaya.** Pelanggan membayar tepat sesuai akhiran yang mereka lihat, sehingga biaya konversi Adaptive Currency tidak dapat ditambahkan di atasnya. Anda menanggung biaya tersebut. Lihat [Choose who bears the fee](/features/adaptive-currency#choose-who-bears-the-fee).
</Warning>

## Subscriptions

Subscription mencatat step pembulatan dan jenis pembulatan ketika pelanggan mulai berlangganan. Dodo Payments mengulangi keputusan yang sama pada setiap perpanjangan.

**Yang dibekukan:** step pembulatan dan jenis pembulatan. Jika Anda mengedit step atau mengubah jenis pembulatan, subscription yang sudah ada tidak akan dihitung ulang harganya. Pelanggan tetap menggunakan aturan yang mereka setujui.

**Yang dapat berubah:** jumlahnya. Setiap perpanjangan mengonversi harga berdasarkan nilai tukar saat ini, lalu menerapkan aturan yang dibekukan. Perubahan nilai tukar yang besar dapat mengubah jumlah perpanjangan meskipun aturannya tidak berubah.

<Warning>
  **Perubahan paket menghapus charm dari subscription tersebut.** Saat pelanggan [mengubah paket](/features/subscription#subscription-plan-changes), paket baru menagih jumlah yang ditampilkan dalam penawaran perubahan paket. Dodo Payments tidak menerapkan charm pada jumlah tersebut maupun pada perpanjangan berikutnya dari subscription tersebut.
</Warning>

## Perilaku Penting

| Perilaku                                        | Detail                                                                                                                                                       |
| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Memerlukan Adaptive Currency**                | Charm Pricing tidak berfungsi saat Adaptive Currency dinonaktifkan.                                                                                          |
| **Harga terlokalisasi menang**                  | Produk dengan aturan [Localized Pricing](/features/localized-pricing) yang sesuai tidak akan diberi charm. Jumlah persis yang Anda tetapkan akan diterapkan. |
| **Diterapkan per unit**                         | Harga per unit diberi charm, lalu dikalikan dengan kuantitas.                                                                                                |
| **Setelah diskon**                              | Diskon diterapkan terlebih dahulu dalam mata uang dasar Anda. Charm membulatkan hasil konversi.                                                              |
| **Sebelum pajak**                               | Pajak dihitung dari jumlah yang telah diberi charm, sehingga totalnya sesuai.                                                                                |
| **Memaksa biaya termasuk harga**                | Anda menanggung biaya konversi mata uang pada transaksi yang diberi charm.                                                                                   |
| **Tidak untuk Pay What You Want**               | Pelanggan memilih jumlahnya, sehingga tidak pernah diberi charm. Lihat [Pay What You Want](/features/pay-what-you-want).                                     |
| **Hanya biaya tetap untuk berbasis penggunaan** | Biaya penggunaan terukur tidak pernah diberi charm.                                                                                                          |
| **Tidak memiliki webhook sendiri**              | Jumlah yang diberi charm muncul pada payment atau subscription seperti harga lainnya.                                                                        |

## Praktik Terbaik

* **Mulai dengan Nearest.** Jenis ini memindahkan harga paling sedikit. Gunakan Floor hanya jika Anda menerima diskon yang dihasilkannya.
* **Periksa produk terbesar dan terkecil Anda.** Step berubah sesuai rentang harga, sehingga produk seharga \$5 dan produk seharga \$1,200 berperilaku berbeda.
* **Tinjau step untuk mata uang dengan unit tinggi.** Harga dalam IDR, VND, dan KRW berada di rentang teratas, dengan step tetap 10,000.
* **Tetapkan harga subscription sebelum peluncuran.** Mengedit step di kemudian hari tidak menghitung ulang harga untuk pelanggan yang sudah ada.
* **Perhitungkan biaya konversi.** Baris yang diberi charm sudah termasuk biaya, sehingga biaya tersebut mengurangi pendapatan Anda.

## Terkait

<CardGroup cols={2}>
  <Card title="Adaptive Currency" icon="money-bill-transfer" href="/features/adaptive-currency">
    Konversi yang dibulatkan oleh Charm Pricing. Wajib untuk Charm Pricing.
  </Card>

  <Card title="Purchasing Power Parity" icon="money-bill-trend-up" href="/features/purchasing-power-parity">
    Kenakan harga lebih rendah di negara yang sensitif terhadap harga. Berjalan sebelum pembulatan charm.
  </Card>

  <Card title="Localized Pricing" icon="earth-americas" href="/features/localized-pricing">
    Tetapkan harga tertentu per negara atau mata uang. Menggantikan Charm Pricing.
  </Card>

  <Card title="Tax-Inclusive Pricing" icon="receipt" href="/features/tax-inclusive-pricing">
    Atur apakah harga Anda sudah termasuk pajak.
  </Card>
</CardGroup>
