Langsung ke konten utama

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 tiga pengendali independen untuk harga internasional, masing-masing menyelesaikan masalah yang berbeda:
MekanismeApa yang dilakukannyaAngka yang dilihat pelanggan
Harga TerlokalisasiHarga tetap yang Anda tetapkan per mata uang atau per negaraTepat sesuai jumlah yang Anda tetapkan
Mata Uang AdaptifSecara otomatis mengonversi harga dasar Anda pada kurs FX langsungHarga dasar yang dikonversi pada kurs saat ini
Kode diskonPersentase atau pengurangan tetap dari harga dasarHarga dasar dikurangi diskon
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

Purchasing Power Parity (PPP)

Kenakan harga lebih rendah di pasar yang sensitif terhadap harga tanpa memberikan diskon di pasar dalam negeri Anda. Aturan by_country memungkinkan produk dengan harga dasar $20 dijual seharga ₹999 di India — disesuaikan dengan daya beli lokal, bukan konversi FX langsung. Cara yang direkomendasikan, asli, untuk menjalankan PPP.

Charm Pricing

Konversi FX langsung dari $19.99 mendarat pada angka aneh seperti €18.43. Aturan by_currency menetapkan harga yang bersih dan disetel secara psikologis seperti yang diharapkan pelanggan — €9.99, ¥1000, ₹499 — persis seperti yang diketik.

Reversible Market-Entry Promotions

Meluncurkan di negara baru? Tambahkan aturan by_country dengan harga perkenalan, lalu arsipkan saat promosi berakhir untuk kembali ke harga dasar/adaptif. Aturan diarsipkan, tidak pernah dihapus, jadi Anda tetap memiliki catatan bersih tentang apa yang sedang berlaku dan kapan.

Competitive Price-Matching

Tetapkan satu pasar untuk menyesuaikan dengan pesaing lokal. Aturan by_country untuk £9.00 di Inggris Raya menjaga harga tersebut terlepas dari bagaimana pergerakan nilai tukar GBP/USD.

Konsep Inti

  • Mode harga — Sebuah produk memiliki satu mode pada satu waktu, ditentukan oleh pricing_mode:
    • by_currency: satu harga per mata uang, terlepas dari negara. Setiap orang yang membayar dalam EUR melihat €9.99.
    • by_country: harga khusus untuk negara (₹999 di India), bahkan ketika beberapa negara berbagi mata uang yang sama.
  • Jumlah tetap, dalam unit terkecilamount dari sebuah aturan adalah integer dalam unit terkecil mata uang, sama seperti di API lainnya: 99900 adalah ₹999.00, 999 adalah €9.99. Itu adalah harga yang Anda tetapkan, bukan nilai konversi.
  • Ketika tidak ada aturan yang cocok — Produk mempertahankan perilaku saat ini: pelanggan dalam mata uang dasar Anda membayar harga dasar secara langsung; semua orang mendapatkannya dikonversi melalui Mata Uang Adaptif.
  • Biaya termasuk ketika aturan cocok — Pelanggan membayar tepat jumlah yang Anda tetapkan. Biaya FX Mata Uang Adaptif diserap oleh Anda (diperlakukan sebagai biaya termasuk untuk transaksi tersebut) daripada ditambahkan di atasnya, jadi harga lokal yang Anda nyatakan selalu menjadi harga yang dikenakan.

Persiapan di Dasbor

1

Open the product form

Di Dasbor Merchant Anda, masuk ke Products dan buat produk (atau buka yang sudah ada untuk diedit). Atur Harga 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 enabled on the product form with By Country selected
3

Add a price for each market

Klik Add Country Price atau Add Currency Price, isi panel Localized pricing, dan klik Add. Setiap pasar yang Anda tambahkan muncul dalam tabel override, di mana Anda dapat mengedit atau menghapusnya kemudian.
Pilih negara, pilih mata uang, dan masukkan jumlah (misalnya ₹999 untuk India), lalu klik Add.
Adding a 999 INR override for India
Negara tersebut sekarang muncul di tabel Country overrides, di mana Anda dapat mengedit atau menghapusnya.
Country overrides table showing India at 999 INR
4

Save the product

Simpan dengan Add product. Harga terlokalisasi berlaku untuk checkout mendatang segera.
Lakukan uji coba checkout dengan negara tagihan yang memiliki aturan, dan konfirmasi jumlah terlokalisasi muncul.

Kelola melalui API

Harga Terlokalisasi sepenuhnya tersedia melalui API. Pertama, atur mode harga produk, lalu lampirkan aturan.

Atur mode harga

Atur pricing_mode saat Anda membuat produk (atau memperbarui yang sudah ada). null berarti hanya-dasar, perilaku yang sudah ada.
import DodoPayments from 'dodopayments';

const client = new DodoPayments({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
});

const product = await client.products.update('pdt_premium_plan', {
  pricing_mode: 'by_country',
});

Tambahkan harga terlokalisasi

Lampirkan aturan pada produk. Dalam mode by_country country_code diperlukan; dalam mode by_currency harus dihilangkan.
// ₹999.00 for customers in India
const localizedPrice = await client.products.localizedPrices.create('pdt_premium_plan', {
  currency: 'INR',
  country_code: 'IN',
  amount: 99900,
});
Untuk produk by_currency, hilangkan country_code. Misalnya, €9.99 datar untuk semua orang yang membayar dalam EUR (currency: 'EUR', amount: 999).

Daftar, perbarui, dan arsipkan

Anda hanya dapat memperbarui amount dari aturan; mata uang dan negara tetap saat dibuat. Arsipkan adalah penghapusan idempoten lembut, sehingga aturan berhenti cocok tetapi tetap dalam sejarah Anda.
// List all active rules on a product
const rules = await client.products.localizedPrices.list('pdt_premium_plan');

// Change the amount (e.g. end a promo)
await client.products.localizedPrices.update('lcp_india_price', {
  product_id: 'pdt_premium_plan',
  amount: 119900,
});

// Archive a rule
await client.products.localizedPrices.archive('lcp_india_price', {
  product_id: 'pdt_premium_plan',
});

API Reference

Lihat endpoint Harga Terlokalisasi Produk lengkap: buat, daftar, ambil, perbarui, dan arsipkan.

Bagaimana Itu Berlaku saat Checkout

Harga terlokalisasi diselesaikan per baris keranjang, dan hanya untuk produk yang memiliki pricing_mode ditetapkan. Dodo Payments membaca dua sinyal dari permintaan: negara penagihan pelanggan, dan billing_currency opsional (jika dihilangkan, mata uang diturunkan dari negara penagihan).
  • By Country: mencari aturan yang cocok dengan negara penagihan. Jika ada, pelanggan dikenakan biaya sesuai dengan jumlah aturan dalam mata uang aturan tersebut.
  • By Currency: mencari aturan yang cocok dengan mata uang pelanggan (billing_currency, atau mata uang yang diturunkan dari negara mereka). Jika ada, pelanggan dikenakan biaya sesuai dengan jumlah aturan dalam mata uang tersebut.
  • Tidak cocok, atau tidak ada pricing_mode: harga dasar berlaku, dikenakan secara langsung ketika mata uang pelanggan sama dengan mata uang dasar, jika tidak, dikonversi melalui Mata Uang Adaptif.
Setiap baris keranjang diselesaikan secara mandiri, sehingga Anda dapat melokalkan satu produk dan meninggalkan yang lain pada harga dasar dalam checkout yang sama. Jika ada baris yang cocok dengan aturan terlokalisasi, seluruh transaksi ditegakkan termasuk biaya (lihat Konsep Inti).

Perilaku Penting

PerilakuRincian
Jumlah sebelum pajakJumlah terlokalisasi adalah harga sebelum pajak. Untuk produk yang pajaknya terpisah, pajak ditambahkan di atasnya saat checkout, sehingga jumlah terlokalisasi bukanlah total akhir. Lihat Harga Termasuk Pajak.
Tidak untuk Bayar Sesuai Yang Anda InginkanAturan terlokalisasi tidak pernah berlaku untuk produk Bayar Sesuai Yang Anda Inginkan, di mana pelanggan memilih jumlahnya.
Menurut mata uang berbeda dari dasarAturan by_currency harus menggunakan mata uang yang berbeda dari mata uang dasar produk.
Satu aturan per pasarProduk dapat memiliki maksimal satu aturan aktif per mata uang (berdasarkan mata uang) atau per negara (berdasarkan negara).
Semua jenis produkBerlaku untuk produk sekali pakai, berlangganan, dan berbasis penggunaan.
Perubahan aturan terlokalisasi tidak mengeluarkan webhook mereka sendiri. Jumlah yang diselesaikan muncul pada pembayaran atau langganan yang dihasilkan persis seperti harga lainnya.

Praktik Terbaik

  • Pertahankan harga dasar yang wajar. Itu adalah pilihan kembali untuk setiap pasar tanpa aturan, dikonversi melalui Mata Uang Adaptif.
  • Bulankan ke harga charm lokal. Tujuan dari jumlah tetap adalah angka bersih seperti ₹999, €9.99, atau ¥1000, bukan hasil FX.
  • Pilih mode untuk pekerjaan. Gunakan by_country untuk harga daya beli; gunakan by_currency saat satu harga per zona mata uang sudah cukup.
  • Arsipk, jangan buat ulang, untuk promosi. Mengarsipkan aturan mengembalikan pasar ke dasar/adaptif sambil mempertahankan sejarah; buat ulang atau tentukan harga ulang nanti sesuai kebutuhan.
  • Perhatikan garis pajak sebelum mengiklankan total. Untuk produk yang pajaknya terpisah, pelanggan membayar jumlah terlokalisasi ditambah pajak, jadi jangan mengutipnya sebagai harga akhir dalam iklan.

Terkait

Purchasing Power Parity

Penetapan harga terlokalisasi asli vs. kode diskon berbasis lokasi untuk PPP.

Adaptive Currency

Konversi FX otomatis dan penanganan biaya yang menjadi dasar harga terlokalisasi.

Tax-Inclusive Pricing

Kontrol apakah harga Anda termasuk pajak.

Pay What You Want

Biarkan pelanggan memilih jumlah. Aturan terlokalisasi tidak berlaku di sana.
Terakhir diubah pada 26 Juni 2026