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

> Tự động làm tròn giá đã quy đổi về các mức kết thúc gọn gàng, được tối ưu về mặt tâm lý như **49.99**, trong mọi loại tiền tệ, mà không cần tự đặt giá cho từng thị trường.

Charm Pricing làm tròn giá đã quy đổi về một mức giá kết thúc dễ nhìn, chẳng hạn **49.99**, trong mọi lần thanh toán. Bạn chỉ cần thiết lập quy tắc một lần. Dodo Payments sẽ áp dụng quy tắc đó theo đơn vị tiền tệ của từng khách hàng.

## Charm Pricing là gì?

[Adaptive Currency](/features/adaptive-currency) quy đổi giá cơ sở của bạn theo tỷ giá hối đoái hiện hành. Kết quả là một con số chính xác, nhưng hiếm khi hấp dẫn: một sản phẩm có giá \$47.00 có thể hiển thị là **€43.12** hôm nay và **€43.47** vào ngày mai.

Charm Pricing lấy số tiền đã quy đổi và đưa về mức giá kết thúc dễ nhìn gần nhất. Khách hàng sẽ thấy **€49.99**, không phải €43.12. Phần kết thúc vẫn ổn định khi tỷ giá thay đổi.

Bạn không cần đặt giá cho từng thị trường. Bạn chọn một quy tắc làm tròn, và quy tắc đó áp dụng cho mọi loại tiền tệ.

<Note>
  Charm Pricing yêu cầu [Adaptive Currency](/features/adaptive-currency). Trước tiên, hãy bật Adaptive Currency.
</Note>

## Lợi ích chính

* **Giá dễ nhìn ở mọi đơn vị tiền tệ** — Một quy tắc áp dụng cho mọi thị trường. Bạn không cần duy trì bảng giá.
* **Phần kết thúc ổn định** — Phần kết thúc không thay đổi khi tỷ giá biến động vài phần trăm.
* **Không có sai lệch do quy đổi** — Khách hàng sẽ không bao giờ thấy 43.12 hoặc 1043.87.
* **Tự động áp dụng cho thị trường mới** — Một đơn vị tiền tệ chưa từng được định giá vẫn nhận được một mức giá dễ nhìn.

<Info>
  Để tự đặt một mức giá chính xác cho một thị trường, hãy sử dụng [Localized Pricing](/features/localized-pricing). Giá bản địa hóa luôn được ưu tiên hơn Charm Pricing trên sản phẩm đó.
</Info>

## Bật Charm Pricing

<Steps>
  <Step title="Enable Adaptive Currency">
    Đi tới **Settings → Business**. Trong **Business Settings**, bật **Adaptive Currency**. Charm Pricing sẽ không hoạt động nếu thiếu tính năng này.

    <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="Công tắc Adaptive Currency trong 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">
    Trong cùng phần **Business Settings**, hãy bật **Charm Pricing** — "Làm tròn giá thành các con số gọn gàng và hấp dẫn hơn". Loại làm tròn hiện tại sẽ xuất hiện bên dưới nút chuyển đổi.

    <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 được bật trong Business Settings" style={{ maxHeight: '400px', width: 'auto' }} width="895" height="392" data-path="images/charm-pricing/charm-toggle.png" />
    </Frame>

    <Warning>
      Các thay đổi chỉ áp dụng cho những giao dịch trong tương lai. Các subscription hiện tại vẫn giữ quy tắc làm tròn mà chúng bắt đầu sử dụng. Xem [Subscriptions](#subscriptions).
    </Warning>
  </Step>

  <Step title="Set the rounding type and steps">
    Nhấp vào **Edit** để mở **Set up Charm Pricing**. Chọn **Rounding type**, sau đó điều chỉnh **Rounding step** cho bất kỳ khoảng giá nào. Nhấp vào **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="Hộp thoại Set up Charm Pricing với bộ chọn loại làm tròn và bản xem trước Try it" style={{ maxHeight: '620px', width: 'auto' }} width="1122" height="404" data-path="images/charm-pricing/rounding-type.png" />
    </Frame>

    Sử dụng **Try it** để kiểm tra một giá trị trước khi lưu. Nhập số tiền và loại tiền tệ, rồi hộp thoại sẽ hiển thị kết quả cùng bước làm tròn đã sử dụng.

    Dodo Payments cung cấp sẵn một bước làm tròn mặc định cho từng khoảng giá. Xem [Rounding types](#rounding-types) và [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="Bảng bước làm tròn, mỗi khoảng giá có một bước" style={{ maxHeight: '440px', width: 'auto' }} width="527" height="485" data-path="images/charm-pricing/bands.png" />
    </Frame>
  </Step>

  <Step title="Confirm at checkout">
    <Check>
      Mở một trang thanh toán thử với quốc gia thanh toán sử dụng một loại tiền tệ khác. Xác nhận rằng giá hiển thị đúng mức kết thúc bạn mong muốn.
    </Check>
  </Step>
</Steps>

## Cách tính giá

Dodo Payments áp dụng **giá niêm yết trên mỗi đơn vị**, sau khi chuyển đổi tiền tệ và trước mọi khoản giảm giá, cũng như trước thuế. Sau đó, khoản giảm giá được khấu trừ khỏi giá niêm yết đã được làm đẹp — xem [Discounts and Charm Pricing](#discounts-and-charm-pricing).

1. **Tìm bậc.** Giá niêm yết sẽ chọn một bậc trong bảng bậc làm tròn. Giá \$47 nằm trong khoảng 10–99, nên bậc là **10**. Bậc được chọn dựa trên giá niêm yết, vì vậy sản phẩm sẽ nằm trong cùng một khoảng bất kể khách hàng sử dụng mã giảm giá nào.
2. **Chọn giá mục tiêu.** Bậc đưa ra hai ứng viên là **40** và **50**. Kiểu làm tròn sẽ chọn một giá. Với **Nearest**, 47 gần 50 hơn.
3. **Cắt phần đuôi.** Dodo Payments trừ đi một phần nghìn của bậc, nên 50 trở thành **49.99**. Phần bị cắt không bao giờ nhỏ hơn một đơn vị tiền tệ nhỏ nhất. **Whole** bỏ qua bước này.

### Các loại làm tròn

| Loại | Lựa chọn | \$47 trở thành |
| :- | :- | :- |
| **Nearest** | Ứng viên gần hơn. Nếu bằng nhau, chọn mức cao hơn. | \$49.99 |
| **Floor** | Luôn chọn ứng viên thấp hơn giá. | \$39.99 |
| **Ceiling** | Luôn chọn ứng viên cao hơn giá. | \$49.99 |
| **Whole** | Ứng viên gần nhất, không điều chỉnh mức kết thúc. | \$50.00 |

<Warning>
  **Floor** có thể làm giảm giá gần bằng toàn bộ một bước. Giá \$47 trở thành \$39.99, giảm 15%. Hãy kiểm tra ảnh hưởng đến các khoảng giá trước khi chọn loại này.
</Warning>

### Bước làm tròn

Bước làm tròn phụ thuộc vào quy mô của giá, tính theo đơn vị chính của loại tiền tệ. Đây là các giá trị mặc định. Bạn có thể thay đổi **Rounding step** cho bất kỳ khoảng giá nào. Bạn không thể thay đổi chính các khoảng giá.

| Khoảng giá | Bước |
| :- | :- |
| 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 trở lên | 10,000 |

Bước làm tròn ngừng tăng ở mức 10,000. Điều này giúp mức thay đổi nhỏ hơn đối với các khoản tiền lớn, và rất quan trọng với những loại tiền tệ có nhiều đơn vị trên mỗi đô la, chẳng hạn IDR và VND.

<Note>
  Bước làm tròn lớn có thể khiến giá thay đổi đáng kể. Với bước mặc định là 1,000, giá đã quy đổi **\$1,234** trở thành **\$999.00**. Hãy giảm bước cho khoảng giá đó nếu mức thay đổi quá lớn đối với danh mục sản phẩm của bạn.
</Note>

### Ví dụ minh họa

| Giá đã quy đổi | Loại tiền tệ | Bước | Loại làm tròn | Khách hàng thanh toán |
| :- | :- | :- | :- | :- |
| \$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>
  Các đơn vị tiền tệ không có chữ số thập phân, chẳng hạn như JPY, không có phần lẻ ở cuối: phần giảm là bước chia cho 1.000, được làm tròn thành đơn vị nguyên, với mức tối thiểu là một đơn vị. Phần kết thúc là ¥4,999, không phải ¥4,999.99.
</Info>

### Khi Charm Pricing không được áp dụng

Dodo Payments giữ nguyên giá đã quy đổi trong các trường hợp sau:

* Bước làm tròn lớn hơn giá. Giá không thể thay đổi ít hơn một bước đầy đủ.
* Kết quả sẽ bằng không hoặc nhỏ hơn.
* Không có bước nào phù hợp với số tiền.

## Cách áp dụng tại trang thanh toán

Charm Pricing thiết lập mức giá mà khách hàng nhìn thấy trước khi bất kỳ khoản giảm giá nào được khấu trừ. Đối với sản phẩm không có giá bản địa hóa, thứ tự là:

1. **Giá cơ sở** — mức giá bạn đặt cho sản phẩm.
2. **[Purchasing Power Parity](/features/purchasing-power-parity)** — nếu sản phẩm tham gia, tỷ lệ phần trăm theo quốc gia sẽ được áp dụng.
3. **[Currency conversion](/features/adaptive-currency)** — số tiền được chuyển đổi sang tiền tệ của khách hàng theo tỷ giá hiện tại.
4. **Charm rounding** — giá niêm yết sau chuyển đổi được đưa về phần đuôi phù hợp. Đây là mức giá khách hàng nhìn thấy dưới dạng subtotal.
5. **Discounts** — mọi khoản giảm giá sản phẩm và [discount code](/features/discount-codes) được khấu trừ khỏi giá niêm yết đã được làm đẹp.
6. **Tax** — được tính từ số tiền sau giảm giá. Xem [Tax-Inclusive Pricing](/features/tax-inclusive-pricing).

Mỗi dòng trong giỏ hàng được tính riêng. Charm rounding chỉ chạy một lần trên giá niêm yết. Số tiền sau giảm giá không được làm tròn lần thứ hai.

### Discounts and Charm Pricing

Charm Pricing quyết định mức giá hiển thị, còn khoản giảm giá được khấu trừ từ mức giá đó. Với gói \$199.00/tháng, bậc 100 và kiểu làm tròn **Nearest**:

```text theme={null}
list  199.00 → charm → 199.90     (Subtotal)
10% of the charmed list  19.99    (Discount)
paid  199.90 − 19.99 = 179.91     (Total)
```

Cách khoản giảm giá được áp dụng lên giá niêm yết đã được làm đẹp phụ thuộc vào loại giảm giá:

| Discount on the line | What carries | Why |
| :- | :- | :- |
| Chỉ mã giảm giá theo phần trăm, không có mức tối đa | **Tỷ lệ** | Tỷ lệ là một phần của giá, nên nó thay đổi theo giá. |
| Bất kỳ mã giảm giá cố định nào hoặc mã giảm giá theo phần trăm có mức tối đa | **Số tiền** | Mã giảm giá cố định chỉ định một số tiền, nên số tiền đó không được thay đổi theo bậc. |

<Info>
  Một dòng đã giảm giá sẽ không có phần đuôi làm đẹp. Giá niêm yết đã được làm đẹp giữ phần đuôi `.99` hoặc `.90`; một khoản phần trăm được trừ từ giá đó không có lý do để giữ phần đuôi này. Trong ví dụ trên, khách hàng bị tính **\$179.91**, không phải một số tiền có phần đuôi làm đẹp.
</Info>

Sản phẩm có giá gạch bỏ (giá so sánh) sẽ hiển thị một dòng giảm giá thực tế, vì giá gạch bỏ được thể hiện dưới dạng khoản khấu trừ theo cùng cách. Một dòng được giảm giá hoàn toàn vẫn miễn phí, còn mã giảm giá cố định lớn hơn giá niêm yết đã được làm đẹp sẽ được giới hạn ở mức miễn phí thay vì trở thành số âm.

<Warning>
  **Các subscription đã được làm đẹp và có khoản giảm giá có thể thay đổi giá vào kỳ gia hạn tiếp theo.** Giá gia hạn được tính trên giá niêm yết đã được làm đẹp thay vì trên giá đã giảm được làm đẹp lại. Với **Nearest** hoặc **Ceiling**, giá niêm yết đã làm đẹp nằm tại hoặc cao hơn giá niêm yết, vì vậy mã giảm giá theo phần trăm thường tính phí cao hơn một chút so với trước đây. Với **Floor**, giá này có thể thấp hơn đáng kể, nên cùng mã đó có thể tính phí thấp hơn.
</Warning>

<Warning>
  **Một dòng hàng áp dụng Charm Pricing sẽ khiến toàn bộ giao dịch bao gồm phí.** Khách hàng trả đúng mức giá kết thúc mà họ nhìn thấy, vì vậy không thể cộng thêm phí chuyển đổi của Adaptive Currency. Bạn sẽ chịu khoản phí đó. Xem [Bật tính năng bao gồm phí](/features/adaptive-currency#enable-fees-inclusive).
</Warning>

## Subscriptions

Một subscription ghi nhận bậc làm tròn và kiểu làm tròn tại thời điểm khách hàng đăng ký. Dodo Payments lặp lại cùng quyết định đó ở mỗi kỳ gia hạn.

**Điều được cố định:** bậc làm tròn và kiểu làm tròn. Nếu bạn chỉnh sửa một bậc hoặc thay đổi kiểu làm tròn, subscription hiện có sẽ không được định giá lại. Khách hàng tiếp tục sử dụng quy tắc mà họ đã đồng ý.

**Điều có thể thay đổi:** số tiền. Mỗi kỳ gia hạn sẽ chuyển đổi giá theo tỷ giá hiện tại, sau đó áp dụng quy tắc đã cố định. Tỷ giá biến động mạnh có thể làm thay đổi số tiền gia hạn, dù quy tắc không thay đổi.

<Warning>
  **Thay đổi gói sẽ loại bỏ Charm Pricing khỏi subscription đó.** Khi subscriber [thay đổi gói](/features/subscription#subscription-plan-changes), gói mới sẽ tính số tiền được hiển thị trong báo giá thay đổi gói. Dodo Payments không áp dụng Charm Pricing cho số tiền đó và cũng không áp dụng cho các kỳ gia hạn sau này của subscription đó.
</Warning>

## Hành vi quan trọng

| Hành vi | Chi tiết |
| :- | :- |
| **Yêu cầu Adaptive Currency** | Charm Pricing không làm gì khi Adaptive Currency bị tắt. |
| **Giá bản địa hóa được ưu tiên** | Sản phẩm có quy tắc [Giá bản địa hóa](/features/localized-pricing) tương ứng sẽ không bao giờ được áp dụng Charm Pricing. Số tiền chính xác bạn thiết lập sẽ được áp dụng. |
| **Áp dụng theo từng đơn vị** | Giá mỗi đơn vị được áp dụng Charm Pricing, sau đó nhân với số lượng. |
| **Trước chiết khấu** | Charm Pricing làm tròn giá niêm yết đã quy đổi. Sau đó, khoản chiết khấu được trừ khỏi mức giá đã áp dụng Charm Pricing. Xem [Chiết khấu và Charm Pricing](#discounts-and-charm-pricing). |
| **Trước thuế** | Thuế được tính sau khi làm tròn bằng Charm Pricing và sau mọi khoản chiết khấu, để tổng tiền nhất quán. |
| **Bắt buộc bao gồm phí** | Bạn sẽ chịu phí chuyển đổi tiền tệ trong giao dịch áp dụng Charm Pricing. |
| **Không áp dụng cho Pay What You Want** | Khách hàng chọn số tiền, vì vậy số tiền này không bao giờ được áp dụng Charm Pricing. Xem [Pay What You Want](/features/pay-what-you-want). |
| **Chỉ áp dụng phí cố định cho phí dựa trên mức sử dụng** | Các khoản phí sử dụng được đo lường không bao giờ được áp dụng Charm Pricing. |
| **Không có webhook riêng** | Số tiền đã áp dụng Charm Pricing xuất hiện trên khoản thanh toán hoặc gói đăng ký như mọi mức giá khác. |

## Best Practices

* **Bắt đầu với Nearest.** Kiểu này làm giá thay đổi ít nhất. Chỉ sử dụng Floor khi bạn chấp nhận khoản giảm giá mà kiểu này tạo ra.
* **Kiểm tra các sản phẩm có giá cao nhất và thấp nhất.** Bậc thay đổi theo khoảng giá, vì vậy sản phẩm \$5 và sản phẩm \$1,200 sẽ hoạt động khác nhau.
* **Xem lại bậc đối với các loại tiền tệ có đơn vị lớn.** Giá IDR, VND và KRW nằm trong các khoảng cao nhất, nơi bậc được cố định ở mức 10,000.
* **Định giá subscription trước khi ra mắt.** Chỉnh sửa bậc sau đó sẽ không định giá lại các subscriber hiện có.
* **Tính đến phí chuyển đổi.** Dòng đã được áp dụng Charm Pricing bao gồm phí, nên phí sẽ được trừ vào doanh thu của bạn.

## Liên quan

<CardGroup cols={2}>
  <Card title="Adaptive Currency" icon="money-bill-transfer" href="/features/adaptive-currency">
    Phần chuyển đổi mà Charm Pricing làm tròn. Bắt buộc để sử dụng Charm Pricing.
  </Card>

  <Card title="Purchasing Power Parity" icon="money-bill-trend-up" href="/features/purchasing-power-parity">
    Tính phí thấp hơn tại các quốc gia nhạy cảm về giá. Chạy trước khi làm tròn bằng Charm Pricing.
  </Card>

  <Card title="Localized Pricing" icon="earth-americas" href="/features/localized-pricing">
    Đặt mức giá chính xác theo từng quốc gia hoặc loại tiền tệ. Ghi đè Charm Pricing.
  </Card>

  <Card title="Tax-Inclusive Pricing" icon="receipt" href="/features/tax-inclusive-pricing">
    Kiểm soát việc giá của bạn có bao gồm thuế hay không.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.