Định Giá Địa Phương Là Gì?
Mỗi sản phẩm có một giá cơ bản trong một loại tiền tệ cơ bản. Định Giá Địa Phương cho phép bạn ghi đè mức giá đó với giá cố định bạn thiết lập theo loại tiền tệ hoặc quốc gia. Bạn có thể bật tính năng này bằng cách đặt mộtpricing_mode trên sản phẩm, sau đó đính kèm một quy tắc cho từng thị trường.
Đây là một trong số các đòn bẩy độc lập để định giá quốc tế, mỗi đòn bẩy giải quyết một vấn đề khác nhau:
Định Giá Địa Phương và Tiền tệ Thích ứng hoạt động cùng nhau. Khi không có quy tắc nào địa phương khớp, sản phẩm quay trở về giá cơ bản của nó — tính trực tiếp nếu khách hàng đã sử dụng loại tiền cơ bản của bạn, hoặc được chuyển đổi qua Tiền tệ Thích ứng nếu không phải.
Các Trường Hợp Sử Dụng
Exact Prices for One Market
Tính một số tiền cụ thể tại thị trường nhạy cảm về giá. Quy tắc
by_country cho phép một sản phẩm cơ sở giá $20 được bán với giá ₹999 tại Ấn Độ — chính xác con số bạn chọn, không phải giá trị chuyển đổi theo FX. Để tự động giảm giá theo từng quốc gia, hãy sử dụng Purchasing Power Parity.Exact Prices per Currency Zone
Việc chuyển đổi FX trực tiếp của $19.99 có thể cho ra một con số khó dùng như €18.43. Quy tắc
by_currency đặt mức giá chính xác mà bạn nhập — €9.99, ¥1000, ₹499. Để tự động làm tròn giá đã chuyển đổi về các đuôi gọn gàng, áp dụng cho mọi loại tiền tệ, hãy sử dụng Charm Pricing.Reversible Market-Entry Promotions
Sắp ra mắt tại một quốc gia mới? Thêm quy tắc
by_country với mức giá giới thiệu, sau đó lưu trữ quy tắc khi chương trình khuyến mãi kết thúc để quay về cơ chế định giá cơ sở/Adaptive Currency. Các quy tắc được lưu trữ chứ không bị xóa, vì vậy bạn vẫn giữ được bản ghi rõ ràng về những gì đã được áp dụng và thời điểm áp dụng.Competitive Price-Matching
Ghim một thị trường cụ thể để khớp với đối thủ địa phương. Quy tắc
by_country cho mức giá £9.00 tại Vương quốc Anh sẽ giữ nguyên mức giá đó bất kể tỷ giá GBP/USD biến động như thế nào.Khái niệm cốt lõi
- Chế độ định giá — Một sản phẩm luôn chỉ ở đúng một chế độ tại một thời điểm, được thiết lập bởi
pricing_mode:by_currency: một mức giá cho mỗi loại tiền tệ, bất kể quốc gia. Mọi người thanh toán bằng EUR đều thấy €9.99.by_country: một mức giá riêng cho từng quốc gia (₹999 tại Ấn Độ), ngay cả khi nhiều quốc gia dùng chung một loại tiền tệ.
- Số tiền cố định, tính theo đơn vị nhỏ nhất —
amountcủa một quy tắc là số nguyên theo đơn vị nhỏ nhất của loại tiền tệ, giống như mọi nơi khác trong API:99900là ₹999.00,999là €9.99. Đây là mức giá bạn đặt, không bao giờ là giá trị đã chuyển đổi. - Quy tắc khớp được ưu tiên hơn định giá tự động — Khi một quy tắc bản địa hóa áp dụng cho một dòng, Purchasing Power Parity và Charm Pricing đều được bỏ qua cho dòng đó. Tại checkout, khách hàng thanh toán đúng số tiền bạn đặt, không thay đổi. Khi thay đổi gói đăng ký, một quy tắc dùng loại tiền tệ khác với gói đăng ký sẽ được chuyển đổi; xem Cách áp dụng khi thay đổi gói đăng ký.
- Khi không có quy tắc khớp — Sản phẩm giữ nguyên hành vi hiện tại: khách hàng dùng loại tiền tệ cơ sở thanh toán trực tiếp theo giá cơ sở; những người khác sẽ được chuyển đổi qua Adaptive Currency.
- Phí được bao gồm khi có quy tắc khớp — Khách hàng thanh toán chính xác số tiền bạn đặt. Phí FX của Adaptive Currency do bạn chịu (được xử lý như đã bao gồm phí cho giao dịch đó) thay vì cộng thêm, vì vậy mức giá địa phương bạn công bố luôn là số tiền được tính.
Thiết lập trong Dashboard
1
Open the product form
Trong Merchant Dashboard, đi đến Products và tạo một sản phẩm (hoặc mở sản phẩm hiện có để chỉnh sửa). Thiết lập Price cơ sở và loại tiền tệ như bình thường.
2
Enable Localized Pricing and choose a mode
Trong phần Pricing, chọn Localized Pricing, sau đó chọn By Country hoặc By Currency.

3
Add a price for each market
Nhấp Add Country Price hoặc Add Currency Price, điền vào bảng Localized pricing, rồi nhấp Add. Mỗi thị trường bạn thêm sẽ xuất hiện trong bảng ghi đè, nơi bạn có thể chỉnh sửa hoặc xóa sau này.
- By Country
- By Currency
Chọn một quốc gia, chọn loại tiền tệ và nhập số tiền (ví dụ ₹999 cho Ấn Độ), rồi nhấp Add.
Quốc gia hiện xuất hiện trong bảng Country overrides, nơi bạn có thể chỉnh sửa hoặc xóa quốc gia đó.


4
Save the product
Lưu bằng Add product. Giá bản địa hóa sẽ áp dụng ngay cho các checkout trong tương lai.
Thực hiện một checkout thử nghiệm với quốc gia thanh toán có quy tắc, rồi xác nhận rằng số tiền bản địa hóa được hiển thị.
Quản lý qua API
Localized Pricing được hỗ trợ đầy đủ qua API. Trước tiên, hãy thiết lập chế độ định giá của sản phẩm, sau đó đính kèm các quy tắc.Thiết lập chế độ định giá
Thiết lậppricing_mode khi tạo sản phẩm (hoặc cập nhật sản phẩm hiện có). null có nghĩa là chỉ dùng giá cơ sở, tức hành vi hiện tại.
Thêm giá bản địa hóa
Đính kèm một quy tắc vào sản phẩm. Ở chế độby_country, bắt buộc phải có country_code; ở chế độ by_currency, tham số này phải được bỏ qua.
by_currency, hãy bỏ qua country_code. Ví dụ: một €9.99 cố định cho mọi người thanh toán bằng EUR (currency: 'EUR', amount: 999).
Liệt kê, cập nhật và lưu trữ
Bạn chỉ có thể cập nhậtamount của một quy tắc; loại tiền tệ và quốc gia sẽ được cố định sau khi tạo. Việc lưu trữ là thao tác xóa mềm idempotent, vì vậy quy tắc sẽ không còn khớp nhưng vẫn được giữ trong lịch sử của bạn.
API Reference
Xem các endpoint Product Localized Prices đầy đủ: create, list, retrieve, update và archive.
Cách áp dụng tại checkout
Giá bản địa hóa được xác định theo từng dòng trong giỏ hàng và chỉ áp dụng cho các sản phẩm đã thiết lậppricing_mode. Dodo Payments đọc hai tín hiệu từ request: billing country của khách hàng và billing_currency tùy chọn (khi bị bỏ qua, loại tiền tệ sẽ được suy ra từ billing country).
- By Country: tìm quy tắc khớp với billing country. Nếu có, khách hàng sẽ bị tính số tiền của quy tắc bằng loại tiền tệ của quy tắc đó.
- By Currency: tìm quy tắc khớp với loại tiền tệ của khách hàng (
billing_currencyhoặc loại tiền tệ được suy ra từ quốc gia của họ). Nếu có, khách hàng sẽ bị tính số tiền của quy tắc bằng loại tiền tệ đó. - Không khớp hoặc không có
pricing_mode: giá cơ sở được áp dụng; khách hàng sẽ thanh toán trực tiếp khi loại tiền tệ của họ trùng với loại tiền tệ cơ sở, nếu không thì được chuyển đổi qua Adaptive Currency.
Cách áp dụng khi thay đổi gói đăng ký
Giá bản địa hóa sẽ được áp dụng cho người đăng ký khi họ chuyển đổi gói. Khi một gói đăng ký hiện có thay đổi gói sang một sản phẩm đã thiết lậppricing_mode, giá của gói mới được xác định theo cùng quy tắc như checkout, sử dụng billing country và currency đã được khóa trên gói đăng ký:
- By Country: áp dụng quy tắc khớp với billing country của gói đăng ký. Nếu currency của quy tắc khác với currency mà gói đăng ký được tính phí, số tiền của quy tắc sẽ được chuyển đổi theo tỷ giá FX hiện tại — quy tắc vẫn được áp dụng, không bị bỏ qua.
- By Currency: áp dụng quy tắc khớp với currency mà khách hàng được tính phí và khách hàng sẽ thanh toán chính xác số tiền của quy tắc.
- Không khớp hoặc không có
pricing_mode: áp dụng giá cơ sở của gói mới, chuyển đổi qua Adaptive Currency khi cần — giống như phương án dự phòng tại checkout.
- Bản xem trước là chính xác. Preview Change Plan trả về đúng số tiền bản địa hóa mà thay đổi thực tế sẽ tính.
- Gia hạn giữ nguyên giá bản địa hóa. Sau khi thay đổi, gói mới được gia hạn với số tiền bản địa hóa — và vẫn bao gồm phí — giống hệt gói đăng ký được tạo ngay từ đầu với mức giá đó.
- Proration sử dụng số tiền thực tế. Khi nâng cấp, khoản tín dụng cho thời gian chưa sử dụng dựa trên số tiền khách hàng thực sự đã trả cho gói cũ, trong khi gói mới được định giá theo quy tắc bản địa hóa.
- Thay đổi được lên lịch sẽ khóa giá tại thời điểm lên lịch. Một thay đổi được lên lịch vào cuối kỳ thanh toán sẽ tính số tiền được tính tại thời điểm lên lịch, ngay cả khi bạn chỉnh sửa quy tắc trong khoảng thời gian đó.
- Currency thanh toán không bao giờ thay đổi. Thay đổi gói không bao giờ chuyển đổi currency mà gói đăng ký được quyết toán; quy tắc dùng currency khác sẽ được chuyển đổi FX sang currency đó.
- Add-on không được bản địa hóa. Giá add-on trong gói mới luôn sử dụng giá cơ sở.
Hành vi quan trọng
Các thay đổi đối với quy tắc bản địa hóa không phát ra webhook riêng. Số tiền được xác định sẽ xuất hiện trên payment hoặc subscription kết quả giống như mọi mức giá khác.
Thực tiễn tốt nhất
- Giữ mức giá cơ sở hợp lý. Đây là phương án dự phòng cho mọi thị trường không có quy tắc, được chuyển đổi qua Adaptive Currency.
- Nhập các số tiền gọn gàng. Mục đích của số tiền cố định là tạo ra mức giá đẹp như ₹999, €9.99 hoặc ¥1000, không phải kết quả FX. Để tự động làm tròn trên mọi loại tiền tệ, xem Charm Pricing.
- Chọn chế độ phù hợp với mục đích. Dùng
by_countrycho định giá theo sức mua; dùngby_currencykhi một mức giá cho mỗi khu vực tiền tệ là đủ. - Lưu trữ thay vì tạo lại khi chạy khuyến mãi. Lưu trữ một quy tắc sẽ đưa thị trường về giá cơ sở/adaptive và vẫn giữ lịch sử; bạn có thể tạo lại hoặc định giá lại khi cần.
- Lưu ý dòng thuế trước khi quảng cáo tổng tiền. Đối với sản phẩm không bao gồm thuế, khách hàng thanh toán số tiền bản địa hóa cộng thêm thuế, vì vậy đừng quảng bá số tiền đó là giá cuối cùng.
Liên quan
Purchasing Power Parity
Tự động giảm giá theo quốc gia, với một tỷ lệ phần trăm cho mỗi quốc gia.
Charm Pricing
Làm tròn giá đã chuyển đổi thành các mức kết thúc đẹp như 49.99 ở mọi loại tiền tệ.
Adaptive Currency
Chuyển đổi FX tự động và xử lý phí mà giá bản địa hóa sử dụng.
Tax-Inclusive Pricing
Kiểm soát việc giá của bạn có bao gồm thuế hay không.
Pay What You Want
Cho phép khách hàng chọn số tiền. Quy tắc bản địa hóa không áp dụng tại đây.

