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

# v1.106.0 (2026年7月7日)

> 支持按货币和国家的本地化定价规则，新增三种支付方式（Satispay、BLIK 和 Klarna for subscriptions），功能标记授权，Apple Pay 域名注册，结账时可编辑附加项——另外还有订阅期延长和附加项图像移除功能。

## 新特性

### 1. **本地化定价**

现在，您可以设置**固定的每货币或每国家价格**，而不是让汇率决定客户看到的金额。通过在产品上设置 `pricing_mode` 启用，然后为每个市场附加一个价格规则：

<Frame>
  <img src="https://mintcdn.com/dodopayments/hpHKp5MybOFgIhM2/images/localized-pricing/pricing-section.png?fit=max&auto=format&n=hpHKp5MybOFgIhM2&q=85&s=933fc68155db9639d36d624c0f84dfee" alt="在产品表单上启用的本地化定价，选择按国家" style={{ maxHeight: '450px', width: 'auto' }} width="850" height="580" data-path="images/localized-pricing/pricing-section.png" />
</Frame>

| 模式            | 功能                   | 示例                       |
| ------------- | -------------------- | ------------------------ |
| `by_currency` | 每货币一个固定价格，无论国家如何     | 以欧元支付的所有人都看到 **€9.99**   |
| `by_country`  | 特定国家的价格，即使几个国家共用一种货币 | 在\$20 基础产品上，印度为 **₹999** |

通过新的 `/products/{product_id}/localized-prices` 端点（创建、列出、获取、修复、归档）管理规则。每条规则的 `amount` 是货币最小单位的整数— 您设置的价格，从未转换的值。

当没有匹配的规则时，产品保留其现有行为：您基础货币的客户直接支付基础价格，其他人通过自适应货币转换。当规则**匹配**时，客户支付您设定的**确切**金额——自适应货币的外汇费用被吸收，而不是额外添加。

这是运行**购买力平价（PPP）**、魅力定价（€9.99、¥1000、₹499）、可逆市场进入促销和竞争价格匹配的推荐的、本地化的方式。

了解更多：[本地化定价](/features/localized-pricing) | [自适应货币](/features/adaptive-currency) | [购买力平价](/features/purchasing-power-parity)

### 2. **新增支付方式：Satispay、BLIK & Klarna for Subscriptions**

三项新增扩展了欧洲的本地覆盖范围，并为定期账单引入了先买后付。

| 方法           | API 类型     | 地区      | 货币  | 订阅       |
| ------------ | ---------- | ------- | --- | -------- |
| **Satispay** | `satispay` | 欧洲（意大利） | EUR | 是        |
| **BLIK**     | `blik`     | 波兰      | PLN | 否（仅一次性）  |
| **Klarna**   | `klarna`   | 美国      | USD | **是（新）** |

* **Satispay** 在欧元结账时显示，适用于一次性和订阅支付，支持的金额范围内。
* **BLIK**，波兰最流行的在线支付方式（\~60%市场份额），结算为 `PLN` 并支持一次性支付。
* **Klarna** 现在可用于美元结账的**订阅**，并在美国账单超过最低\$50时有效——以前仅限一次性支付。

了解更多：[欧洲支付方式](/features/payment-methods/europe) | [先买后付](/features/payment-methods/bnpl) | [支付方式概述](/features/payment-methods)

### 3. **功能标记授权**

一种新的**功能标记**授权类型将 Dodo Payments 转变为有账单感知的功能标记存储。将类似 `advanced_reports` 的标记附加到产品上后，每个支付的客户立即获得授予，您的应用程序可以检查——无需外部平台、无需 OAuth，也没有可能失败的交付步骤。

<Frame>
  <img src="https://mintcdn.com/dodopayments/oS2MTbJuY6MeBjjs/images/entitlements/feature-flags/create.png?fit=max&auto=format&n=oS2MTbJuY6MeBjjs&q=85&s=08d8fc2cfee102ff08fd150c76b5fcf9" alt="新功能标记表单，显示名称、功能ID、描述和元数据键值条目" style={{ maxHeight: '500px', width: 'auto' }} width="1196" height="776" data-path="images/entitlements/feature-flags/create.png" />
</Frame>

* 购买时，授予被创建并直接移动到 `delivered`。没有 `pending` 阶段，也没有客户操作。
* 授予携带一个类型化的 `feature` 负载——`{ "feature_type": "boolean", "feature_id": "advanced_reports" }`——并且您的应用程序读取 `feature_id` 以决定解锁内容。
* 取消、退款或手动撤销将授予移动到 `revoked`，标记自动消失。

您可以通过新的 **`GET /customers/{customer_id}/entitlement-grants`** 端点（状态和集成类型过滤器，分页）读取客户的授予，或通过 Webhooks 保持同步。授权元数据现在也支持 `string | number | boolean` 标量联合，因此您可以随标记附加限制和配额。

了解更多：[功能标记授权](/features/entitlements/feature-flags) | [授权](/features/entitlements/introduction)

### 4. **Apple Pay 域名注册**

您现在可以直接从控制台注册和验证**您自己的域名**以支持 Apple Pay，从而实现您网站上的内嵌（嵌入式）结账时的一键 Apple Pay。

在 **设置→支付方式**中进行设置：在 **Apple Pay** 行中，点击 **管理域名**，下载域名关联文件，托管在您的域名上，然后注册和验证。域名验证仅在内嵌（嵌入式）结账时需要——覆叠结账、托管结账和支付链接无需验证。

<Frame caption="Register the domain where you embed checkout">
  <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/register-domain.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=9c2bf22e51c8ff188a4e11b36b24c136" alt="带有域名输入的注册域名表单" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1672" data-path="images/apple-pay-domains/register-domain.png" />
</Frame>

<Info>
  禁用域名是一个停止开关，停止 Dodo 在该域名的结账时提供 Apple Pay——它不会将域名从 Apple 注销。
</Info>

了解更多：[数字钱包](/features/payment-methods/digital-wallets)

### 5. **结账时可编辑的附加项**

在结账会话上添加新的 `allow_editing_addons` 功能标记，允许客户**在结账期间添加或移除订阅产品上的附加项**，而不是将购物车锁定为固定的附加项集。

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  feature_flags: {
    allow_editing_addons: true // customers can edit add-ons at checkout
  },
  return_url: 'https://yoursite.com/return'
});
```

标记默认为 `false`，仅适用于订阅产品。它还显示在 `GET /checkouts/{id}` 上，以便您的前端知道会话中是否启用附加项编辑。

了解更多：[结账会话](/developer-resources/checkout-session) | [附加项](/features/addons)

## 改进和错误修复

### 6. **通过 `PATCH /subscriptions` 扩展订阅期限**

`PATCH /subscriptions/{id}` 现在接受 `subscription_period_count` 和 `subscription_period_interval`，因此您可以**延长**订阅的当前期限——例如，授予额外时间。订阅的到期时间（`expires_at`）根据新计数和间隔重新计算并持久化。

<Note>
  订阅的期限只能**增加**，不能缩短。
</Note>

了解更多：[更新订阅](/api-reference/subscriptions/patch-subscriptions)

### 7. **从附加项中移除图像**

`PATCH /addons/{id}` 现在支持通过发送 `image_id: null` 来清除附加项的图像。显式的 `null` 移除图像，而忽略字段保持不变——与产品和产品集合使用的相同约定相匹配。

了解更多：[更新附加项](/api-reference/addons/update-addon)

### 其他修复和改进

* 整个平台的小错误修复和稳定改进。
