Skip to main content

Apa itu Harga Terlokalisasi?

Setiap produk memiliki harga dasar dalam mata uang dasar. Harga Terlokalisasi memungkinkan Anda menimpa dasar tersebut dengan harga tetap yang Anda tentukan per mata uang atau per negara. Aktifkan dengan mengatur pricing_mode pada produk, lalu lampirkan satu aturan per pasar. Ini adalah salah satu dari beberapa instrumen independen untuk penetapan harga internasional, yang masing-masing menyelesaikan masalah yang berbeda:
Harga Terlokalisasi dan Mata Uang Adaptif bekerja sama. Ketika tidak ada aturan terlokalisasi yang cocok, produk akan kembali ke harga dasarnya — dikenakan secara langsung jika pelanggan sudah menggunakan mata uang dasar Anda, atau diubah melalui Mata Uang Adaptif jika tidak.

Kasus Penggunaan

Exact Prices for One Market

Tetapkan jumlah tertentu di pasar yang sensitif terhadap harga. Aturan by_country memungkinkan produk dengan harga dasar $20 dijual seharga ₹999 di India — angka persis yang Anda pilih, bukan hasil konversi FX. Untuk mengurangi harga berdasarkan negara secara otomatis, gunakan Purchasing Power Parity.

Exact Prices per Currency Zone

Konversi FX langsung sebesar $19.99 dapat menghasilkan angka yang janggal seperti €18.43. Aturan by_currency menetapkan harga persis yang Anda masukkan — €9.99, ¥1000, ₹499. Untuk membulatkan harga yang dikonversi ke akhiran yang rapi secara otomatis, di setiap mata uang, gunakan Charm Pricing.

Reversible Market-Entry Promotions

Meluncurkan produk di negara baru? Tambahkan aturan by_country dengan harga perkenalan, lalu arsipkan saat promosi berakhir untuk kembali ke penetapan harga dasar/adaptif. Aturan diarsipkan, bukan dihapus, sehingga Anda tetap memiliki catatan yang rapi tentang apa yang aktif dan kapan.

Competitive Price-Matching

Tetapkan satu pasar agar sesuai dengan harga pesaing lokal. Aturan by_country untuk £9.00 di Britania Raya mempertahankan harga persis tersebut, terlepas dari perubahan nilai tukar GBP/USD.

Konsep Inti

  • Mode penetapan harga — Sebuah produk selalu berada tepat dalam satu mode, yang ditetapkan oleh pricing_mode:
    • by_currency: satu harga per mata uang, terlepas dari negara. Semua orang yang membayar dalam EUR akan melihat €9.99.
    • by_country: harga khusus untuk suatu negara (₹999 di India), meskipun beberapa negara menggunakan mata uang yang sama.
  • Jumlah tetap, dalam unit terkecil — amount suatu aturan adalah bilangan bulat dalam unit terkecil mata uang, sama seperti di seluruh API: 99900 adalah ₹999.00, 999 adalah €9.99. Ini adalah harga yang Anda tetapkan, bukan nilai yang dikonversi.
  • Aturan yang cocok mengungguli penetapan harga otomatis — Jika aturan lokal berlaku untuk suatu baris, Purchasing Power Parity dan Charm Pricing akan dilewati untuk baris tersebut. Saat checkout, pelanggan membayar jumlah yang Anda tetapkan tanpa perubahan. Saat terjadi perubahan paket langganan, aturan dalam mata uang yang berbeda dari langganan akan dikonversi; lihat Cara Penerapannya pada Perubahan Paket Langganan.
  • Jika tidak ada aturan yang cocok — Produk mempertahankan perilaku yang ada: pelanggan dalam mata uang dasar Anda membayar harga dasar secara langsung; pelanggan lainnya akan dikenai harga yang dikonversi melalui Adaptive Currency.
  • Biaya sudah termasuk saat aturan cocok — Pelanggan membayar persis jumlah yang Anda tetapkan. Biaya FX Adaptive Currency ditanggung oleh Anda (diperlakukan sebagai biaya yang sudah termasuk untuk transaksi tersebut), bukan ditambahkan di atasnya, sehingga harga lokal yang Anda nyatakan selalu menjadi harga yang ditagihkan.

Penyiapan di Dasbor

1

Open the product form

Di Merchant Dashboard, buka Products lalu buat produk (atau buka produk yang sudah ada untuk mengeditnya). Tetapkan Price dasar dan mata uang seperti biasa.
2

Enable Localized Pricing and choose a mode

Di bagian Pricing, centang Localized Pricing, lalu pilih By Country atau By Currency.
Localized Pricing diaktifkan pada formulir produk dengan By Country dipilih
3

Add a price for each market

Klik Add Country Price atau Add Currency Price, isi panel Localized pricing, lalu klik Add. Setiap pasar yang Anda tambahkan akan muncul di tabel override, tempat Anda dapat mengedit atau menghapusnya nanti.
Pilih negara, pilih mata uang, lalu masukkan jumlah (misalnya ₹999 untuk India), kemudian klik Add.
Menambahkan override 999 INR untuk India
Negara tersebut kini muncul di tabel Country overrides, tempat Anda dapat mengedit atau menghapusnya.
Tabel Country overrides yang menampilkan India dengan harga 999 INR
4

Save the product

Simpan dengan Add product. Harga lokal akan langsung diterapkan pada checkout mendatang.
Lakukan checkout pengujian dengan negara penagihan yang memiliki aturan, lalu pastikan jumlah lokal ditampilkan.

Kelola melalui API

Localized Pricing tersedia sepenuhnya melalui API. Tetapkan mode penetapan harga produk terlebih dahulu, lalu lampirkan aturan.

Tetapkan Mode Penetapan Harga

Tetapkan pricing_mode saat membuat produk (atau memperbarui produk yang sudah ada). null berarti hanya harga dasar, yaitu perilaku yang sudah ada.

Tambahkan Harga Lokal

Lampirkan aturan ke produk. Dalam mode by_country, country_code wajib diisi; dalam mode by_currency, parameter tersebut harus dihilangkan.
Untuk produk by_currency, hilangkan country_code. Misalnya, €9.99 tetap untuk semua orang yang membayar dalam EUR (currency: 'EUR', amount: 999).

Cantumkan, Perbarui, dan Arsipkan

Anda hanya dapat memperbarui amount suatu aturan; mata uang dan negara ditetapkan secara permanen setelah aturan dibuat. Pengarsipan adalah soft-delete idempoten, sehingga aturan berhenti dicocokkan tetapi tetap tersimpan dalam riwayat Anda.

API Reference

Lihat endpoint Product Localized Prices lengkap: create, list, retrieve, update, dan archive.

Cara Penerapannya saat Checkout

Localized pricing ditentukan untuk setiap baris keranjang, dan hanya untuk produk yang memiliki pricing_mode. Dodo Payments membaca dua sinyal dari request: billing country pelanggan dan billing_currency opsional (jika dihilangkan, mata uang ditentukan dari negara penagihan).
  • By Country: mencari aturan yang cocok dengan negara penagihan. Jika ada, pelanggan ditagihkan jumlah aturan dalam mata uang aturan tersebut.
  • By Currency: mencari aturan yang cocok dengan mata uang pelanggan (billing_currency atau mata uang yang ditentukan dari negara pelanggan). Jika ada, pelanggan ditagihkan jumlah aturan dalam mata uang tersebut.
  • Tidak ada kecocokan atau tidak ada pricing_mode: harga dasar berlaku, ditagihkan langsung jika mata uang pelanggan sama dengan mata uang dasar; jika tidak, harga dikonversi melalui Adaptive Currency.
Setiap baris keranjang ditentukan secara terpisah, sehingga Anda dapat melokalkan satu produk dan membiarkan produk lainnya menggunakan harga dasar dalam checkout yang sama. Jika ada baris yang cocok dengan aturan lokal, seluruh transaksi dipaksa untuk menyertakan biaya (lihat Konsep Inti).

Cara Penerapannya pada Perubahan Paket Langganan

Localized pricing mengikuti pelanggan berlangganan saat mereka mengganti paket. Ketika langganan yang sudah ada berganti paket ke produk yang memiliki pricing_mode, harga paket baru ditentukan dengan aturan yang sama seperti checkout, menggunakan negara penagihan dan mata uang yang sudah ditetapkan pada langganan:
  • By Country: aturan yang cocok dengan negara penagihan langganan akan berlaku. Jika mata uang aturan berbeda dari mata uang penagihan langganan, jumlah aturan dikonversi menggunakan nilai tukar FX terkini — aturan tetap diterapkan, bukan dilewati.
  • By Currency: aturan yang cocok dengan mata uang penagihan pelanggan akan berlaku, dan pelanggan ditagihkan persis sejumlah aturan tersebut.
  • Tidak ada kecocokan atau tidak ada pricing_mode: harga dasar paket baru berlaku, dikonversi melalui Adaptive Currency jika diperlukan — fallback yang sama seperti checkout.
Hal ini berlaku di semua tempat perubahan paket dapat dimulai: Change Plan API, perubahan paket mandiri di Customer Portal, dan perubahan yang dijadwalkan pada akhir periode penagihan.
  • Pratinjau bersifat akurat. Preview Change Plan mengembalikan jumlah lokal yang sama dengan jumlah yang ditagihkan oleh perubahan sebenarnya.
  • Perpanjangan mempertahankan harga lokal. Setelah perubahan, paket baru diperpanjang dengan jumlah lokalnya — dan tetap menyertakan biaya — persis seperti langganan yang dibuat dengan harga tersebut.
  • Prorata menggunakan jumlah sebenarnya. Saat upgrade, kredit untuk waktu yang belum digunakan didasarkan pada jumlah yang sebenarnya dibayar pelanggan untuk paket lama, sedangkan paket baru diberi harga berdasarkan aturan lokalnya.
  • Perubahan terjadwal mengunci harga saat dijadwalkan. Perubahan yang dijadwalkan pada akhir periode penagihan akan menagihkan jumlah yang dihitung saat penjadwalan, meskipun Anda mengedit aturan di antaranya.
  • Mata uang penagihan tidak pernah berubah. Perubahan paket tidak pernah mengganti mata uang penyelesaian langganan; aturan dalam mata uang lain dikonversi melalui FX ke mata uang tersebut.
  • Add-on tidak dilokalkan. Harga add-on pada paket baru selalu menggunakan harga dasarnya.

Perilaku Penting

Perubahan aturan lokal tidak menghasilkan webhook tersendiri. Jumlah yang ditentukan akan muncul pada pembayaran atau langganan yang dihasilkan, sama seperti harga lainnya.

Praktik Terbaik

  • Pertahankan harga dasar yang wajar. Harga ini menjadi fallback untuk setiap pasar tanpa aturan, dan dikonversi melalui Adaptive Currency.
  • Masukkan angka yang rapi. Tujuan utama jumlah tetap adalah harga yang rapi seperti ₹999, €9.99, atau ¥1000, bukan hasil FX. Untuk pembulatan otomatis di semua mata uang, lihat Charm Pricing.
  • Pilih mode sesuai kebutuhan. Gunakan by_country untuk penetapan harga berdasarkan daya beli; gunakan by_currency jika satu harga per zona mata uang sudah cukup.
  • Arsipkan, jangan buat ulang, untuk promosi. Mengarsipkan aturan mengembalikan pasar ke harga dasar/adaptif sekaligus mempertahankan riwayat; buat ulang atau tetapkan harga baru nanti sesuai kebutuhan.
  • Perhatikan baris pajak sebelum mengiklankan total. Untuk produk yang pajaknya tidak termasuk, pelanggan membayar jumlah lokal ditambah pajak, jadi jangan menyebutnya sebagai harga akhir dalam iklan.

Terkait

Purchasing Power Parity

Kurangi harga berdasarkan negara secara otomatis, dengan satu persentase untuk setiap negara.

Charm Pricing

Bulatkan harga yang dikonversi ke akhiran rapi seperti 49.99, dalam setiap mata uang.

Adaptive Currency

Konversi FX otomatis dan penanganan biaya yang menjadi dasar Localized Pricing.

Tax-Inclusive Pricing

Kendalikan apakah harga Anda sudah termasuk pajak.

Pay What You Want

Biarkan pelanggan memilih jumlahnya. Aturan lokal tidak berlaku di sana.
Terakhir diubah pada 26 September 2026