> ## Documentation Index
> Fetch the complete documentation index at: https://docs.checkoutrules.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 验证/阻止结账

> 在给定条件下显示错误或阻止无效（或不允许的）结账。

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/l6vijeifdVw?si=2ITX_sW5YDDnI3RB" title="BeSure 验证/阻止结账" style={{ border: 0 }} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

## 规则概述

此规则允许您根据定义的条件验证或阻止结账流程。您可以显示自定义错误消息，或在满足某些条件（如无效的购物车内容、受限的配送地区、客户标签或缺少的产品属性等）时完全阻止结账。

这有助于执行业务规则、防止不支持的订单，并引导客户在完成结账前解决问题。

## 示例配置

以下步骤展示了如何使用应用创建和配置一个 **验证/阻止结账** 规则。

### 创建新规则

从 [Shopify 管理后台](/guides/zh/get-started/installation#前往应用) 打开应用。在侧边栏中，进入 [规则](/guides/zh/get-started/quickstart#创建示例规则) 部分，然后点击 *"创建规则"*。

接着，您将被重定向到 **选择结账规则类型界面**。选择 *类别 "验证" → 选择结账规则类型 "验证/阻止结账" → 点击 “选择规则”*。

<img src="https://mintcdn.com/storespark/pRxetMhd3-MrZXc-/images/essentials/validation/select-validation-block-rule.webp?fit=max&auto=format&n=pRxetMhd3-MrZXc-&q=85&s=4de1b7e388e48d862b153a7843bea2fa" alt="选择验证阻止规则" width="1050" height="551" data-path="images/essentials/validation/select-validation-block-rule.webp" />

然后，在 **模板选择** 中，根据您的需求选择一个选项。在大多数情况下，您可以选择空白规则作为起点并根据需要进行修改。即使您选择了预填模板，也可以稍后修改。

<img src="https://mintcdn.com/storespark/pRxetMhd3-MrZXc-/images/essentials/validation/select-rule-template-validate-block-checkout.webp?fit=max&auto=format&n=pRxetMhd3-MrZXc-&q=85&s=6fe9f7b60823dbc0f2af042c27e61d91" alt="选择规则模板" width="971" height="1438" data-path="images/essentials/validation/select-rule-template-validate-block-checkout.webp" />

然后，您将进入 **创建新的验证/阻止结账规则** 界面，在此可以配置您的规则。

### 规则配置

要配置规则，首先我们可以选择性地添加一个名称，例如 "验证/阻止结账"，以描述其作用。然后，选择规则的 [状态](/guides/zh/get-started/concepts#地位)：测试中、激活或停用。

这里我们选择 **测试中** 状态，这样我们可以快速测试规则，而不会影响实际客户的结账。

<img src="https://mintcdn.com/storespark/ZoBcc0QT_aT_tX8T/images/essentials/validation/rule-configure-1-validation-block-rule.webp?fit=max&auto=format&n=ZoBcc0QT_aT_tX8T&q=85&s=8eaa4bee2fceaf1c111a8493e122a1e8" alt="规则配置 1" width="973" height="485" data-path="images/essentials/validation/rule-configure-1-validation-block-rule.webp" />

接下来，在同一界面下，为规则选择适当的 [行为](/guides/zh/get-started/concepts#行为)。您可以选择 **阻止结账并显示错误消息**、**显示警告消息而不阻止结账**，或 **仅在客户尝试完成订单时阻止结账**，具体取决于您希望规则如何影响结账流程。

<Info>
  如果您不确定应选择哪个规则设置，很多时候默认的预设选项是最佳选择。您可以从默认选项开始，稍后再进行修改。
</Info>

<img src="https://mintcdn.com/storespark/4eaCOBOFoZcnvNJg/images/concepts/behavior.webp?fit=max&auto=format&n=4eaCOBOFoZcnvNJg&q=85&s=2efaede37a1f283734ea952e6c56e95c" alt="行为" width="1202" height="315" data-path="images/concepts/behavior.webp" />

然后，在同一界面下，选择相关的 [条件集](/guides/zh/get-started/concepts#条件集)、[条件](/guides/zh/get-started/concepts#条件（“何时”）) 和 [操作](/guides/zh/get-started/concepts#动作（“做什么”）)。

> 例如，这里我们使用默认的 **条件集 1**，设置规则在 **"地址行 2（公寓、套房等）"** 字段为空时触发，并配置其阻止结账。错误消息 **"请输入完整地址"** 将显示在结账页面的 **配送地址行 2** 字段下，要求客户提供完整地址后才能继续。

<img src="https://mintcdn.com/storespark/pRxetMhd3-MrZXc-/images/essentials/validation/condition-set-validation-block-rule.webp?fit=max&auto=format&n=pRxetMhd3-MrZXc-&q=85&s=53928643256169b8ed5c40bd663939d9" alt="条件集" width="1314" height="1356" data-path="images/essentials/validation/condition-set-validation-block-rule.webp" />

在 **操作** 部分，您可以选择自定义错误消息在结账页面显示的位置。下拉菜单提供了多个放置选项：

* 在 **常规** 分类下，您可以选择 **"结账页面顶部"**，将操作显示在页面最上方。

* 在 **以下输入字段下方** 分类下，您可以选择将操作显示在特定输入字段下方，例如：电子邮件、客户电话号码、配送国家/地区、配送名字、配送姓氏、配送公司、配送地址（地址行 1）、配送公寓、套房等（地址行 2）、配送城市、配送省/州、配送邮政编码、配送电话号码、账单国家/地区、账单名字、账单姓氏、账单公司、账单地址（地址行 1）、账单公寓、套房等（地址行 2）、账单城市、账单省/州、账单邮政编码和账单电话号码。

这使您能够控制错误消息显示的位置，帮助您将其放置在结账表单中最相关的部分。

<img src="https://mintcdn.com/storespark/pRxetMhd3-MrZXc-/images/essentials/validation/action-target-dropdown.webp?fit=max&auto=format&n=pRxetMhd3-MrZXc-&q=85&s=ed758ecf440ed75cbc62cefaae12f450" alt="操作目标下拉菜单" width="1154" height="850" data-path="images/essentials/validation/action-target-dropdown.webp" />

之后，您可以在 **"错误消息"** 字段中输入您的消息。您输入的消息将显示在结账页面上。

<img src="https://mintcdn.com/storespark/0kMcm2Wg9Dv-zhR6/images/essentials/validation/validation-error-message.webp?fit=max&auto=format&n=0kMcm2Wg9Dv-zhR6&q=85&s=9ae4e845c8f8e12b5f4e10ceaf593d9d" alt="验证错误消息" width="901" height="93" data-path="images/essentials/validation/validation-error-message.webp" />

您还可以通过点击 **"添加翻译"** 按钮并为所需语言输入翻译后的消息来添加翻译（可选）。在添加翻译之前输入的消息将用作 **默认消息**，并在没有可用翻译时显示。

<img src="https://mintcdn.com/storespark/0kMcm2Wg9Dv-zhR6/images/essentials/validation/validation-error-message-after-translation.webp?fit=max&auto=format&n=0kMcm2Wg9Dv-zhR6&q=85&s=84724708bedf548945f4d974aa4ce1e1" alt="翻译后的验证错误消息" width="1179" height="481" data-path="images/essentials/validation/validation-error-message-after-translation.webp" />

接着，在同一界面下，选择在极少数情况下（如果应用在结账过程中失败或出现问题）系统的行为方式。这是一个回退选项，在大多数情况下，您可能希望允许客户完成结账，这是默认选项。您会看到两个选项：

* **允许客户完成结账**：确保即使应用遇到问题，客户仍然可以顺利完成购买。

* **阻止客户完成结账**：如果应用失败，将阻止客户完成结账，可能会导致交易受阻。

选择与您期望的客户体验和风险容忍度最契合的选项。

<img src="https://mintcdn.com/storespark/lkY0mx0uZwe--5lB/images/concepts/fallback.webp?fit=max&auto=format&n=lkY0mx0uZwe--5lB&q=85&s=b5710aea78ae7167cebea8308f751d26" alt="回退" width="959" height="133" data-path="images/concepts/fallback.webp" />

最后，点击顶部的 <b>保存</b> 按钮来创建并保存您的规则。

<img src="https://mintcdn.com/storespark/ZoBcc0QT_aT_tX8T/images/shared/save-rule.webp?fit=max&auto=format&n=ZoBcc0QT_aT_tX8T&q=85&s=49b09a4f049059fd67144f92d10233ca" alt="保存规则" width="713" height="184" data-path="images/shared/save-rule.webp" />

## 测试规则

由于规则设置为测试状态，我们必须使用 `test@testing.com` 作为电子邮件，而不是实际的电子邮件，来在结账时运行规则。

<Warning>
  下图显示了在使用测试电子邮件地址之前的结账页面。请注意，此时错误消息尚未显示。
</Warning>

<img src="https://mintcdn.com/storespark/ZoBcc0QT_aT_tX8T/images/essentials/validation/before-rule-apply-validation-block-rule.webp?fit=max&auto=format&n=ZoBcc0QT_aT_tX8T&q=85&s=48dbdacb87ae89fd9cb17557421194b0" alt="规则应用前" width="915" height="748" data-path="images/essentials/validation/before-rule-apply-validation-block-rule.webp" />

<Note>
  请确保填写配送地址中的所有必填字段。Shopify 仅会在所有必填字段都已填写且客户准备结账时运行规则，以避免在每次输入时触发规则。
</Note>

在将地址行 2（公寓、套房等）字段留空后，结账规则运行并阻止了结账流程。我们可以验证错误消息 **"请输入完整地址"** 已显示在结账页面的 **配送地址行 2** 字段下，如下所示。

<img src="https://mintcdn.com/storespark/ZoBcc0QT_aT_tX8T/images/essentials/validation/after-rule-apply-validation-block-rule.webp?fit=max&auto=format&n=ZoBcc0QT_aT_tX8T&q=85&s=8d9122a3a86e43e0d4e42f03625891a2" alt="规则应用后" width="876" height="745" data-path="images/essentials/validation/after-rule-apply-validation-block-rule.webp" />

## 激活规则

测试完成后，我们可以激活规则，使其开始对实际客户的结账进行更改。只有激活的规则才能对所有客户的结账产生影响。

点击侧边栏中的 **规则** 查看所有规则。选择您想要激活的规则，然后点击 **激活** 按钮来激活它。

<Warning>
  规则激活仅适用于付费计划。如果您尚未升级计划，请按照
  [此处](/guides/zh/get-started/installation#升级您的套餐) 的说明进行升级。
</Warning>

<img src="https://mintcdn.com/storespark/ZoBcc0QT_aT_tX8T/images/essentials/validation/activate-the-rule-validation-block-rule.webp?fit=max&auto=format&n=ZoBcc0QT_aT_tX8T&q=85&s=26ee5c8023c4ac2f4865b2981653a16f" alt="激活规则" width="970" height="165" data-path="images/essentials/validation/activate-the-rule-validation-block-rule.webp" />
