# 应用草稿与公开付款页

「应用草稿」（apply）是助手草稿的隔离审阅页，只有已登录的组织成员可以逐项审阅并勾选应用修改，助手自身无法直接写入系统。公开付款页（pay）是租户向自身客户收款的公开收银页面，客户无需登录工作台，可在微信或支付宝中直接完成付款。这两页均不是申请开通租户的页面，开通租户仅在[租户管理](/ops/tenants)中进行。

## 谁能用

页面根据业务场景划分不同的面向对象与权限要求：

| 页面 | 面向对象 | 权限与登录要求 |
|---|---|---|
| 应用草稿（apply） | 组织的既有成员 | 必须登录。账号需具备应用该草稿的权限，草稿必须属于你当前登录的组织。助手与委托令牌不可代为应用。 |
| 公开付款页（pay） | 租户的外部客户（匿名） | 无需登录，不进入工作台。页面不收集银行卡号或支付密码。 |

> **提示**
>
> 租户管理员不在公开付款页配置商户号，商户号在组织[应用收款设置](/admin/payments)中配置。平台运营台不经手客户付款资金。

### 应用草稿权限与会话限制

在访问应用审阅页面时，系统会根据会话与权限状态进行校验：
- **未登录拦截**：当页面嵌入在[工作台](/guide/workspace)的 iframe 中且当前域名下无登录会话时，整页提示「需要先登录」「嵌在页面里无法登录，请在新标签页中打开。」，并提供按钮「在新标签页打开」。
- **会话失效**：若在无会话状态下直接打开草稿，页面提示「登录已过期，请重新登录。」，并提供「重新登录」或「在新标签页打开并登录」链接。
- **权限不足**：若当前账号缺少应用权限，页面提示「你的账号没有应用这份草稿的权限。」。
- **跨组织或草稿丢失**：若草稿不属于当前登录组织或已被系统清理，页面提示「找不到这份草稿，它可能已被清理，或不属于你当前登录的组织。」。
- **隔离界面校验**：服务端只接受来自应用草稿隔离界面的应用请求。若请求来源不符合要求，系统拒绝写入并提示「服务器认为这次请求不是来自隔离界面，没有应用。请在从助手打开的这个页面中重试；如果仍然如此，请联系管理员。」。
- **助手权限阻断**：助手只能起草建议，永远不能执行应用操作。助手委托令牌不能执行写操作，也不能执行应用操作。

## 怎么打开

### 打开应用草稿（apply）

应用草稿部署在公网主机 `https://apply.{base}/`：
1. **从工作台打开**：在工作台与助手对话时，当助手生成修改建议，在对话卡片中点「审阅」（已处理的草稿是「查看」）。审阅页面将在内嵌窗口中打开（草稿卡片本身不直接应用修改）。
2. **通过草稿链接访问**：直接在浏览器中访问具体草稿地址 `https://apply.{base}/d/{id}`。
3. **直接访问首页**：在浏览器中访问 `https://apply.{base}/`。首页没有草稿 ID，页面展示空态提示。

> **提示**
>
> 系统允许工作台与同域页面通过 iframe 嵌入应用页面，其它站点无法嵌入。未嵌入 iframe 时页面展示当前操作用户的身份水印；嵌入工作台时则展示工作台水印。若登录失败，整页提示「无法登录」，并提供「重新登录」链接。

### 打开公开付款页（pay）

公开付款页挂在每个工作台主机下，访问地址为 `https://{workspace}/pay/{token}`（token 为 16–128 位由字母、数字、`_` 或 `-` 组成的字符）：
1. **通过业务应用获取**：租户业务应用（如[经营订单](/apps/order)或[会员](/apps/membership)收费）生成公开付款链接或现场二维码。
2. **客户直接打开**：客户在手机浏览器或电脑浏览器中打开付款链接或扫描二维码进入收银界面。

> **注意**
>
> 公开付款页地址中的访问凭据不要转发。页面禁止被其它站点嵌套，也不会把当前地址当作来源发给其它站点，以免凭据外泄。浏览器标题在已配置商户时显示向对应商户付款，未配置商户时显示「付款」。

## 界面一览

### 应用草稿首页

访问 `https://apply.{base}/` 时展示：

| 区域 / 元素 | 说明 |
|---|---|
| 顶栏 | 展示平台品牌与「应用草稿」标识。 |
| 空态区域 | 提示「没有打开的草稿」与「请从助手对话里打开草稿。」。 |

### 应用草稿审阅页

访问 `https://apply.{base}/d/{id}` 时展示：

| 区域 / 元素 | 说明 |
|---|---|
| 页头说明 | 显示标题「助手的修改建议」，副标题说明「助手只能起草，只有你能应用。逐项看一遍，勾选要应用的项，再确认。」。 |
| 状态徽章 | 展示草稿当前流转状态，包括「待你审阅」「已应用」「已丢弃」「部分已应用」。 |
| 冲突提示横幅 | 当数据在审阅期间被改动时出现，提示「有的项在你审阅之后被改动了，已重新加载。请再看一遍，重新勾选后应用。」。 |
| 处理反馈 | 操作完成后展示「已处理」并标明已应用项数；或显示「草稿已丢弃」「没有任何修改被应用。」。 |
| 校验提示 | 存在未通过校验的项时，提示有几项校验未通过，不能应用。说明可只应用其余项，或丢弃后重新起草。 |
| 空草稿提示 | 草稿内无有效修改项时，提示「这份草稿没有内容」。 |
| 修改项列表头 | 显示修改项统计（共几项修改、几项可以应用）。修改项超过 1 项时提供「全选」与「全不选」操作。 |
| 修改项卡片 | 包含以下元素：<br>- 操作徽章：显示「新建」「修改」「删除」或具体操作标识。<br>- 业务标识：展示对应的应用与操作标识。<br>- 执行状态：显示「已应用」或「应用失败」。<br>- 修改内容：展示目标对象与具体字段值。<br>- 修改标记：若你手动修改过该项，标注「已由你修改」，并显示助手原来写的是原值。<br>- 预演状态：显示「预演通过」或「预演未通过，不能应用」。 |
| 底栏操作区 | 草稿处于「待你审阅」或「部分已应用」状态时显示：<br>- 统计文案：显示已选几项、可选几项。<br>- 操作按钮：提供「放弃草稿」按钮与「应用选中项」按钮（未勾选任何项时处于禁用状态）。 |
| 页脚 | 显示草稿 ID，标注「应用的是你现在看到的这一版」。 |
| 加载与异常 | 加载时无障碍名称显示「加载中」；打不开时提示「找不到草稿」或「无法打开草稿」。 |

### 公开付款页

访问 `https://{workspace}/pay/{token}` 时展示：

| 区域 / 元素 | 说明 |
|---|---|
| 顶栏与底栏 | 顶栏展示品牌标识。底栏常驻说明「付款在微信或支付宝里完成，这个页面不会要求你输入银行卡号或支付密码。」。 |
| 加载状态 | 正在加载订单信息时显示「正在打开付款页」。 |
| 订单信息卡片 | 展示向对应商户付款、付款金额（单位：元）以及付款主题。 |
| 微信扫码支付 | 电脑端展示二维码，说明「请用微信扫一扫。在手机上看？长按二维码，选「识别图中二维码」。」，支持跳转时提供「去微信付款」按钮。 |
| 支付宝支付 | 电脑端展示「请用支付宝扫一扫。」及二维码；移动端提供「去支付宝付款」或「用支付宝打开付款」按钮。 |
| 微信内支付（JSAPI） | 在微信客户端内打开时提供「立即支付」按钮；用户取消时提示「你取消了这次付款。需要的话可以再点一次「立即支付」。」；支付失败时提示「微信没有完成这次付款。请稍后再点「立即支付」，或联系收款方。」。 |
| 环境引导提示 | - 在微信外部打开微信 JSAPI 订单时提示「这笔付款要在微信里完成：请用微信扫一扫下面的二维码。」。<br>- 在微信内部打开外部 H5 支付时提示「这笔付款要在手机浏览器里完成：请用右上角菜单选「在浏览器打开」。」。 |
| 倒计时与轮询 | 提示在规定倒计时时间内完成付款或提示「请尽快完成付款」；倒计时结束后提示「正在确认付款结果…」；提示「付款后回到这个页面，这里会显示结果。」（页面可见时约 2.5 秒轮询一次状态）。 |
| 支付成功 | 支付完成后显示「支付成功」、已于具体时间收到款项，并提示「可以关闭这个页面了。」。 |
| 异常与失败提示 | - **链接无效**：提示「这个付款链接无效」「链接可能不完整，或已失效。请向收款方重新索取付款链接。」。<br>- **访问频繁**：提示「访问太频繁」「请稍等一会儿再刷新这个页面。」，提供「重试」按钮。<br>- **网络故障**：提示「暂时无法打开」「网络似乎不稳定，请检查网络后重试。」，提供「重试」按钮。<br>- **付款过期**：提示「付款已过期」「这笔付款没有在有效期内完成，没有扣款。请向收款方重新索取付款链接。」。<br>- **付款取消**：提示「这笔付款已取消」「收款方取消了这笔付款，没有扣款。如有疑问请联系收款方。」。<br>- **渠道拒绝**：提示「这笔付款无法完成」「支付渠道没有接受这笔付款，没有扣款。请联系收款方。」。 |

## 常用操作

### 审阅并应用助手草稿

1. 在[工作台](/guide/workspace)助手对话中，找到助手生成的草稿卡片，点「审阅」（已处理的草稿是「查看」）（或在浏览器中访问具体的草稿链接）。
2. 若内嵌窗口提示「需要先登录」，点击「在新标签页打开」，完成账号登录后再访问草稿。若提示「登录已过期，请重新登录。」，点击「重新登录」或「在新标签页打开并登录」。
3. 进入「助手的修改建议」页面，查看修改项列表。
4. 逐项检查目标对象、字段值与操作类型（「新建」「修改」或「删除」）：
   - 若某项显示「预演未通过，不能应用」，该项无法勾选。
   - 若某项显示「预演通过」，可勾选该项。
   - 若修改项较多，可点击顶部的「全选」勾选全部可用项，或点击「全不选」清除勾选。
5. 勾选完毕后，在页面底栏点击「应用选中项」（未勾选任何项时该按钮处于禁用状态）。
6. 查看提交结果：
   - 若所有勾选项成功写入，状态徽章变更为「已应用」，提示「已处理」及已应用项数。
   - 若部分项成功、部分项失败，状态徽章变更为「部分已应用」，条目上分别标明「已应用」或「应用失败」。
   - 若存在校验失败项，系统提示有几项校验未通过，不能应用。你可以选择只应用其余项，或放弃草稿后重新起草。
7. 若审阅期间对象被他人改动，页面提示「有的项在你审阅之后被改动了，已重新加载。请再看一遍，重新勾选后应用。」。重新核对修改项后，再次勾选并点击「应用选中项」。

### 放弃助手草稿

1. 在草稿审阅页中，核对助手的修改建议。
2. 确认不需要这批修改，点击页面底部的「放弃草稿」按钮。
3. 提交后页面状态徽章变更为「已丢弃」，提示「草稿已丢弃」「没有任何修改被应用。」。

### 客户扫码与在线付款

1. 租户业务应用（如[经营订单](/apps/order)或[会员](/apps/membership)收费）生成公开付款链接（格式为 `https://{workspace}/pay/{token}`）或付款二维码。
2. 客户在手机浏览器或电脑端打开付款链接，页面提示「正在打开付款页」，加载完成后展示商户名称、应付金额（元）与付款主题。
3. 按照当前使用的支付渠道完成付款：
   - **微信扫码**：在电脑端查看时，界面提示「请用微信扫一扫。在手机上看？长按二维码，选「识别图中二维码」。」，使用手机微信扫描二维码；在支持跳转的手机端点击「去微信付款」。
   - **支付宝支付**：在电脑端查看时，界面提示「请用支付宝扫一扫。」，使用手机支付宝扫描二维码；在手机端点击「去支付宝付款」或「用支付宝打开付款」。
   - **微信内打开（JSAPI）**：在微信客户端内直接打开链接时，点击页面上的「立即支付」按钮。若中途取消付款，页面提示「你取消了这次付款。需要的话可以再点一次「立即支付」。」；若支付失败，页面提示「微信没有完成这次付款。请稍后再点「立即支付」，或联系收款方。」。
4. 在微信或支付宝官方界面中确认金额并完成支付。公开付款页全程不会要求输入银行卡号或支付密码。
5. 支付完成后返回付款页面，页面提示「付款后回到这个页面，这里会显示结果。」。页面在激活状态下约每 2.5 秒自动轮询一次支付状态。
6. 确认收到款项后，页面提示「支付成功」、已于具体时间收到款项，并提示「可以关闭这个页面了。」。

### 处理跨环境与支付异常

1. **处理跨环境支付引导**：
   - 若在微信客户端外部打开了仅支持微信内部支付的链接，页面提示「这笔付款要在微信里完成：请用微信扫一扫下面的二维码。」，使用手机微信扫描页面二维码继续付款。
   - 若在微信客户端内部打开了需在外部浏览器完成的 H5 支付，页面提示「这笔付款要在手机浏览器里完成：请用右上角菜单选「在浏览器打开」。」，点击微信右上角功能菜单选择在手机浏览器中打开。
2. **处理网络故障与频繁访问**：
   - 若提示「暂时无法打开」「网络似乎不稳定，请检查网络后重试。」，检查本地网络连接后点击「重试」按钮。
   - 若提示「访问太频繁」「请稍等一会儿再刷新这个页面。」，稍作等待后点击「重试」按钮。
3. **处理过期、取消与渠道拒绝**：
   - 若提示「付款已过期」「这笔付款没有在有效期内完成，没有扣款。请向收款方重新索取付款链接。」，该订单已失效且未扣款，联系收款方重新获取有效链接。
   - 若提示「这笔付款已取消」「收款方取消了这笔付款，没有扣款。如有疑问请联系收款方。」，该订单已由收款方取消且未扣款，如有疑问联系收款方。
   - 若提示「这笔付款无法完成」「支付渠道没有接受这笔付款，没有扣款。请联系收款方。」，支付渠道拒绝了该交易且未扣款，联系收款方核查处理。

## 状态说明

### 草稿流转状态

```
待你审阅 ───[ 应用全部选中项 ]───> 已应用
   │
   ├───[ 部分项应用成功 ]───────> 部分已应用
   │
   └───[ 放弃草稿 ]────────────> 已丢弃
```

| 状态徽章 | 说明 | 底栏操作 |
|---|---|---|
| 「待你审阅」 | 助手起草完成，等待人工核对、勾选并确认应用 | 显示「放弃草稿」与「应用选中项」 |
| 「部分已应用」 | 草稿中的部分修改项已成功写入系统，其余项未应用 | 显示「放弃草稿」与「应用选中项」，可继续处理其余项 |
| 「已应用」 | 草稿中的修改项已全部成功写入系统 | 底栏隐藏，显示已处理明细 |
| 「已丢弃」 | 用户主动放弃草稿，未向系统写入任何修改 | 底栏隐藏，显示「没有任何修改被应用。」 |

### 付款订单状态

订单状态由底层收款服务统一判定：

```
待付款 ───[ 支付成功 ]───> 支付成功
  │
  ├───[ 超出有效期 ]───────> 付款已过期
  │
  ├───[ 收款方取消 ]───────> 这笔付款已取消
  │
  └───[ 渠道拒绝 ]─────────> 这笔付款无法完成
```

| 付款页展示 | 业务含义 | 扣款说明 | 后续处理 |
|---|---|---|---|
| 等待付款 | 订单已生成，等待客户在微信或支付宝中支付 | 尚未扣款 | 在倒计时内完成支付 |
| 「支付成功」 | 款项已成功到账（即便订单后续发生退款，本页仍显示成功） | 已扣款 | 可以关闭页面 |
| 「付款已过期」 | 订单超出有效支付时间 | 没有扣款 | 向收款方重新索取付款链接 |
| 「这笔付款已取消」 | 收款方主动取消了该笔订单 | 没有扣款 | 如有疑问联系收款方 |
| 「这笔付款无法完成」 | 支付渠道未接受该笔付款 | 没有扣款 | 联系收款方核实原因 |

## 让助手帮你做

助手（Agent）只能读取数据并起草修改建议，不能代替你应用草稿，也不能代为导出草稿。助手不能打开或完成公开付款页。

你可以向助手提出业务修改需求，例如：
> 帮我起草新建一个客户。
> 帮我改一下这条合同的金额。
> 帮我起草一份报销单修改。
> 帮我修改这笔订单的收货地址。

助手起草后会生成草稿卡片。所有写操作都会汇集到本应用草稿（apply）页面等待你核对。你不能要求助手直接应用草稿，助手无法代为点击应用，服务端接口会拒绝非隔离界面发起的应用请求。

## 设置

本页面无用户可配置的设置项。付款倒计时与状态轮询机制由页面内置逻辑控制：

| 机制 | 参数 | 说明 |
|---|---|---|
| 前台轮询 | 约 2.5 秒 / 次 | 付款页面处于浏览器当前可见窗口时的查询频率 |
| 后台轮询 | 约 8 秒 / 次 | 付款页面处于浏览器后台标签页时的查询频率 |
| 繁忙轮询 | 约 10 秒 / 次 | 接口返回繁忙时的查询频率 |
| 过期确认轮询 | 最多 120 秒 | 订单到期后提示「正在确认付款结果…」，持续确认最终状态 |

## 注意事项

- **页面定位说明**：`apply` 页面专门用于审阅助手起草的业务修改，不是平台注册或租户开通申请页面，不包含企业名称、套餐选择或开通付款表单。开通租户请在[租户管理](/ops/tenants)中操作。
- **组织与权限边界**：`apply` 页面仅处理属于你当前登录组织、且属于你权限范围的草稿。若草稿不属于当前组织，提示「找不到这份草稿，它可能已被清理，或不属于你当前登录的组织。」；若账号缺少权限，提示「你的账号没有应用这份草稿的权限。」。
- **独立域名隔离**：服务端严格限制仅接受来自 `apply` 隔离界面的应用请求。直接调用接口或使用 Agent 委托令牌会被系统拒绝并提示「服务器认为这次请求不是来自隔离界面，没有应用。请在从助手打开的这个页面中重试；如果仍然如此，请联系管理员。」。
- **版本一致性与冲突保护**：应用草稿严格以你当前在页面中看到的版本为准。若审阅期间目标对象被外部修改，系统重新加载草稿并提示「有的项在你审阅之后被改动了，已重新加载。请再看一遍，重新勾选后应用。」。
- **预演失败不可应用**：预演未通过的修改项在页面中显示「预演未通过，不能应用」，无法勾选，也不能强制应用。
- **付款令牌安全**：公开付款链接中的访问凭据不要转发到不可信渠道。页面不会把当前地址当作来源发给其它站点，以免凭据外泄。
- **不收集银行卡信息**：公开付款页不收集银行卡号或支付密码，支付在微信或支付宝官方环境中完成。
- **真实支付网关**：微信与支付宝真实付款以部署环境是否接入真实支付网关为准，页面交互与提示文案保持一致。
- **退款处理**：退款不在此页面处理。已支付成功的订单后续发生退款时，客户访问本页仍显示「支付成功」。

## 目前不支持

- **公网自助开通与付款向导**：目前不支持在公网自主填写表单申请开通租户并在线付款。
- **对象引擎独立审阅界面**：对象引擎暂未提供应用内审阅页面，其草稿统一在「应用草稿」页面中审阅。
- **输入卡号备选付款**：付款页有意不提供输入银行卡号或密码的备选支付方式。

## 常见问题

#### 为什么从助手对话打开草稿时提示「需要先登录」或「登录已过期，请重新登录」？
应用草稿运行在独立的隔离域名（`apply.{base}`）下。如果该域名下尚未建立登录会话，嵌入在工作台 iframe 内将无法直接登录，页面会提示「需要先登录」「嵌在页面里无法登录，请在新标签页中打开。」，点击「在新标签页打开」并在新窗口完成登录即可。若会话失效，页面提示「登录已过期，请重新登录。」，点击「重新登录」或「在新标签页打开并登录」重新登录即可。

#### 为什么不能让助手直接帮我应用草稿？
系统采用严格的安全隔离机制。助手只能读取数据并起草建议，永远不能应用草稿。Agent 委托令牌没有写入与应用权限，服务端只接受来自独立隔离界面的人工应用请求。所有写操作必须由你在审阅页面中人工核对，并手动点击「应用选中项」完成确认。

#### 为什么草稿中的部分修改项无法勾选？
系统加载草稿时会对各项修改执行预演校验。若某项修改存在数据冲突或校验不通过，该项会标记为「预演未通过，不能应用」，系统禁止勾选该项。页面会提示有几项校验未通过，不能应用。你可以勾选其余「预演通过」的项进行应用，或点击「放弃草稿」后让助手重新起草。

#### 客户在付款页看到「付款已过期」或「这笔付款已取消」，是否会被扣款？
不会扣款。当订单超过有效支付时间时，页面提示「付款已过期」「这笔付款没有在有效期内完成，没有扣款。请向收款方重新索取付款链接。」；当收款方取消订单时，页面提示「这笔付款已取消」「收款方取消了这笔付款，没有扣款。如有疑问请联系收款方。」。这两种状态下款项均未划扣，如需继续付款，请联系收款方重新获取付款链接。

#### 为什么在公开付款页面找不到输入银行卡号或密码的地方？
公开付款页严格遵循金融信息安全规范，页面本身不收集、不展示也不经手客户的银行卡号或支付密码。所有付款流程均通过微信扫码、支付宝扫码或客户端内收银台在受监管的官方支付应用内安全完成。
