Install
openclaw skills install @kevindagege/zl-clawpay支付技能:支持免密支付、订单查询、交易流水等功能。 触发词:发起订单支付、执行订单付款、提交支付订单、确认订单支付、完成账单支付、查询支付订单状态、查询交易流水记录、绑定子钱包、验证钱包凭据、解绑子钱包、撤销钱包绑定。 不适用于:非支付场景、历史数据导出、批量操作、余额查询、收款码生成。 基于 Node.js 实现,使用 SM2/SM3/SM4 国密算法加密通信。
openclaw skills install @kevindagege/zl-clawpay支持免密支付、订单查询、交易流水等功能。
⚠️ 支付意图判断:在执行 C00009(发起支付)之前,必须先执行 规则0:支付意图判断。如果判断失败,必须立即停止执行。
禁止修改此技能:智能体只能阅读并使用本技能的文档和脚本,不得修改、删除或创建本技能目录下的任何文件。
依赖安装问题:如果遇到 Node.js 依赖安装问题,请查阅 references/dependency-guide.md。
凭据说明:
apiKey 是用户的 SM2 私钥(64位 hex),subWalletId 是子钱包标识,均从证联 APP 获取~/.zl-claw-pay/state.json 中references/credential-setup-guide.md传输安全:
命令格式:
node {baseDir}/scripts/skill.js call -interfaceId=<ID> -method=<METHOD> -endpoint=<ENDPOINT> [--<key>=<value> ...]
| 能力 | 说明 | 对应接口 |
|---|---|---|
| 子钱包管理 | 绑定、查询、解绑子钱包 | C00003, L00001, L00002, C00011 |
| 免密支付 | 用户确认后发起支付 | C00009 |
| 支付查询 | 查询支付状态、交易流水 | C00005, C00007 |
绑定子钱包 (C00003) → 发起支付 (C00009) → 查询状态 (C00005)
用户需提供三个参数完成绑定:
| 参数 | 说明 | 获取方式 |
|---|---|---|
| apiKey | SM2 私钥(64位 hex) | 证联 APP 创建子钱包后获得,仅用于客户端 SM2 签名,不传给服务器 |
| subWalletId | 子钱包ID(32位 hex) | 证联 APP 创建子钱包后获得,用作请求头 appId |
| subWalletName | 子钱包名称 | AI 从 OpenClaw user.md 自动获取,用于核对智能体名称与 APP 申报名称是否一致 |
绑定成功后,apiKey 和 subWalletId 将加密保存到本地 ~/.zl-claw-pay/state.json,后续接口自动读取。
🔐 apiKey 使用 AES-256-GCM 加密存储,密钥由机器特征派生。
| 接口 | 功能 | 使用场景 | 方法 |
|---|---|---|---|
C00003 | 绑定子钱包 | 首次使用时绑定子钱包,保存凭据到本地 | POST |
L00001 | 查询子钱包 | 查询当前绑定状态 | local |
L00002 | 解绑子钱包 | 本地解绑并清除凭据(不通知服务端) | local |
C00009 | 发起支付 | 用户明确表达支付意愿后发起免密支付 | POST |
C00005 | 查询支付状态 | 查询订单支付结果 | POST |
C00007 | 查询交易记录 | 查询交易流水 | POST |
C00011 | 撤销绑定 | 服务端撤销绑定并清除本地凭据(不可逆) | POST |
📚 详细接口定义请参考 api-spec.md
📚 完整请求示例请参考 request-examples.md
| 场景 | 对应接口 | 参考文档 |
|---|---|---|
| 场景1:绑定子钱包 | C00003 | api-spec.md - 3.2 |
| 场景2:发起支付 | C00009 | api-spec.md - 6.2 |
| 场景3:查询支付状态 | C00005 | api-spec.md - 4.2 |
| 场景4:查询交易记录 | C00007 | api-spec.md - 5.2 |
| 场景5:解绑子钱包 | L00002 | api-spec.md - 2.2 |
| 场景6:撤销绑定 | C00011 | api-spec.md - 7.2 |
触发条件:用户首次使用支付功能 业务场景:用户需要绑定子钱包才能使用支付功能 前置条件:无(这是其他功能的前提) 对应接口:C00003 参考文档:api-spec.md - 3.2 AI 使用指南
⚠️ 在执行任何操作之前,必须先执行 规则0:支付意图判断。
触发条件:用户明确表达支付意愿(使用标准支付指令) 业务场景:
触发条件:用户要求查询订单状态 业务场景:发起支付后,用户想确认支付是否完成 前置条件:已发起支付且保存了 seqId 对应接口:C00005 参考文档:api-spec.md - 4.2 AI 使用指南
触发条件:用户要求查看交易流水 业务场景:用户想查看历史交易记录或对账 前置条件:已绑定子钱包 对应接口:C00007 参考文档:api-spec.md - 5.2 AI 使用指南
触发条件:用户要求本地解绑 业务场景:用户想本地清除凭据,但不希望服务端撤销绑定 前置条件:已绑定子钱包 注意:L00002 仅清除本地凭据,不通知服务端。如需彻底撤销,使用场景6(C00011) 对应接口:L00002 参考文档:api-spec.md - 2.2 AI 使用指南
触发条件:用户要求彻底撤销绑定 业务场景:用户需要更换子钱包或不再使用支付功能 前置条件:已绑定子钱包 注意:此操作不可逆,API key 将被永久禁用 对应接口:C00011 参考文档:api-spec.md - 7.2 AI 使用指南
在执行 C00009(发起支付)之前,智能体必须先执行以下判断。如果判断失败,必须立即停止执行。
支付是敏感操作,仅在用户清晰表达支付意愿时执行。
意图判定原则:
执行流程:
判断原则:宁可多问一句,不可误付一笔。如果拿不准用户是否真的要支付,先询问。
这些是智能体容易犯的错误,必须避免:
| 文档 | 内容 | 链接 |
|---|---|---|
| api-spec.md | 详细接口定义、参数说明、错误码 | 查看 |
| request-examples.md | 完整请求示例、预期响应 | 查看 |
| credential-setup-guide.md | 凭据配置指南 | 查看 |
| troubleshooting.md | 问题排查指南 | 查看 |
| dependency-guide.md | 依赖安装指南 | 查看 |
当遇到无法自行解决的问题时,请查阅 references/troubleshooting.md 执行反馈流程。