Skip to main content

Đị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ột pricing_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 — amount củ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: 99900 là ₹999.00, 999 là €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.
Localized Pricing được bật trên biểu mẫu sản phẩm với By Country được chọn
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.
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.
Đang thêm ghi đè 999 INR cho Ấn Độ
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 đó.
Bảng Country overrides hiển thị Ấn Độ ở mức 999 INR
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ập pricing_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.
Đối với sản phẩm 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ật amount 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ập pricing_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_currency hoặ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.
Mỗi dòng trong giỏ hàng được xử lý riêng, vì vậy bạn có thể bản địa hóa một sản phẩm và để các sản phẩm khác dùng giá cơ sở trong cùng một checkout. Nếu bất kỳ dòng nào khớp với quy tắc bản địa hóa, toàn bộ giao dịch sẽ bị buộc bao gồm phí (xem Khái niệm cốt lõi).

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ập pricing_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.
Điều này áp dụng cho mọi nơi có thể bắt đầu thay đổi gói: Change Plan API, thay đổi gói tự phục vụ trong Customer Portal và các thay đổi được lên lịch vào cuối kỳ thanh toán.
  • 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_country cho định giá theo sức mua; dùng by_currency khi 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.
Lần sửa đổi cuối 28 tháng 9, 2026