关于 gate-exchange-pay
供已选择 Gate Pay 且准备支付商家订单的用户使用。它会核验订单信息和授权、执行扣款并返回收据;不负责购物或获取付款后的资源。
主要功能
- 01核验订单号、金额和币种
- 02要求完成 Gate Pay 授权
- 03执行商家订单扣款
- 04返回本地化收据或失败指引
适用场景
- 01选择 Gate Pay 后支付商家订单
- 02信息齐备时完成先付款的结账
- 03扣款成功后提供收据
MCP 相关
该技能调用 Exchange MCP 工具 cex_pay_create_ai_order_pay,从已授权的 Gate Pay 账户扣除商家订单款项。它只处理扣款,不获取商家资源。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gate/ gate-skills --skill gate-exchange-pay安装后在 Claude Code 中输入/gate-exchange-pay确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHANGELOG.mdREADME.mdsetup.shreferences/gate-cli.mdmcp.mdscenarios.md详细介绍
解析 gate-cli(二进制文件路径)
按以下顺序解析 gate-cli:(1) command -v gate-cli 和 gate-cli --version 均成功;(2) 如果 ${HOME}/.local/bin/gate-cli 可执行,则使用它;(3) 如果 ${HOME}/.openclaw/skills/bin/gate-cli 可执行,则使用它。规范规则:exchange-runtime-rules.md §4(或 gate-runtime-rules.md §4)。
gate-exchange-pay — Gate Pay 支付
通用规则
⚠️ 停止 — 继续之前,必须阅读并严格遵守共享运行时规则。 在阅读完所有规则之前,请勿选择或调用任何工具。这些规则具有最高优先级。 → 阅读 gate-runtime-rules.md
- 只能使用此技能中明确列出的
gate-cli命令。 即使其他接口提供了此处未记载的命令,在这些工作流中也不得运行。
适用范围和受众
本文档面向最终用户和 Agent:在必须先付款,且用户已经选择支付方式并选定 Gate Pay 的场景中,通过调用 Exchange MCP 工具 cex_pay_create_ai_order_pay 完成扣款并输出收据(gate-cli/cmd/cex 中没有对应的 gate-cli 命令;参见 MCP_LEGACY_TOOL_RESOLUTION.md §二)。
调用此技能之前,用户必须已完成 Gate 账户的支付相关授权。如果尚未完成,应先引导用户完成 Gate 账户授权,再进行扣款。
语言
收据、扣款前摘要、失败提示和简短确认均使用用户所用的语言。如果对话中混用了多种语言,则根据用户提出支付或收据请求时所用的语言回复;除非用户切换语言,否则一份收据只使用一种语言。
适用情形
- 用户明确表示有意付款(例如付款、确认支付、结账、替我付款)。
- 必须先付款(例如收到 HTTP 402 后,或在适用时遇到等效的先付款步骤),用户已选择 Gate Pay 作为支付方式,且你不会改用其他渠道。
- 支付调用所需的所有信息均已具备,并且
cex_pay_create_ai_order_pay的所有必需参数(gate-cli/cmd/cex中没有对应的gate-cli命令;参见MCP_LEGACY_TOOL_RESOLUTION.md§二)均已满足(依据 MCPinputSchema);如果缺少任何信息,须在付款前补齐。 - 此能力不涵盖仅为获取 402 而首次访问受保护 URL 的情形;对话中的其他部分可能会处理此事。用户选定 Gate Pay 且支付信息准备就绪后,使用此能力扣款。
不适用情形
- 用户仅粘贴了大量原始 API 文本,仍无法可靠确定支付信息 → 不要扣款;请用户根据订单或结账页面补充信息。
- 寻找商家、比较价格或提供购物建议 → 不在适用范围内。
- 与使用 Gate Pay 支付特定商家订单无关的现货、合约、充值或链上转账 → 不要使用此能力处理。
领域知识
Gate Pay 概述
Gate Pay 是 Gate 的数字资产支付解决方案,用户可使用 Gate 账户余额支付商家订单。该方案支持先付款流程(HTTP 402 协议),即在访问资源前必须先付款。
授权要求
- 发起任何扣款前,用户必须完成 Gate 账户支付授权。
- 授权包括身份验证和授予从支付账户扣款的权限。
- 如果缺少授权,或授权已过期、无效,应先引导用户完成 Gate 账户授权。
支付流程限制
- 支付成功执行后不可撤销
- 发起支付前,订单信息(order_id、amount、currency)必须完整
- 此技能仅处理扣款步骤;从商户获取资源不在范围内
- 如果返回支付凭证字段,下游步骤可以使用,但不得伪造
Gate Pay 与其他支付方式
- 此技能仅处理 Gate Pay 支付;其他支付方式(银行卡、其他加密货币钱包)不在范围内
- 用户必须明确选择 Gate Pay 作为支付方式,此技能才会启用
gate-cli 命令索引
| 工具名称 | 用途 | 类型 |
|---|---|---|
cex_pay_create_ai_order_pay(gate-cli/cmd/cex 中没有对应的 gate-cli 映射;参见 MCP_LEGACY_TOOL_RESOLUTION.md §二) | 从用户的 Gate Pay 支付账户中扣除商户订单款项 | 写入 |
身份验证
- 交互式文件设置:当主机上没有同时设置
GATE_API_KEY和GATE_API_SECRET时,运行gate-cli config init,按照向导完成 API 密钥、密钥、配置文件和默认值的设置(参见 gate-cli)。 - 环境变量 / 标志:如果已经提供凭据,则不需要运行
gate-cli config init——例如,主机上同时设置了GATE_API_KEY和GATE_API_SECRET,或在支持的情况下使用--api-key/--api-secret;绝不要要求用户在聊天中粘贴密钥。 - 需要 API 密钥:是
- 需要额外授权:是,必须已完成 Gate Pay 支付授权
- 注意:此技能通过经过身份验证的 Exchange MCP 工具执行私密支付操作。除了运行时基于 API 密钥的执行能力外,还需要支付授权。
注意:如果没有可用的订单状态查询工具,而用户只询问是否已付款,请说明这一限制;不要以再次扣款代替查询。
安装检查
- **必需:**通过 CLI 执行的流程需要
gate-cli(如果缺少,请在此技能目录运行sh ./setup.sh;可选设置GATE_CLI_SETUP_MODE=release)。 - 如果按名称调用
gate-cli,请将$HOME/.openclaw/skills/bin添加到PATH(或添加setup.sh安装它的目录)。 - 凭据:当主机上同时设置了非空的
GATE_API_KEY和GATE_API_SECRET时,不要要求运行gate-cli config init。当两者都未设置或为空时,提醒操作人员运行gate-cli config init,或在技能库中对应的技能里配置GATE_API_KEY/GATE_API_SECRET(绝不要要求用户在聊天中粘贴密钥)。 - **合理性检查:**执行扣款前,确认运行时和支付前置条件;根据需要使用
gate-cli --version或特定于部署的检查。
执行模式
阅读并严格遵循 references/gate-cli.md,然后执行此技能的 Gate Pay 扣款工作流。
SKILL.md负责支付意图路由、产品边界和面向用户的政策。references/gate-cli.md是权威的gate-cli执行规范,规定扣款输入、确认关卡和失败回退。
工作流
步骤 0:确认支付准备就绪
操作:验证所有前置条件均已满足后再继续。
需要提取的关键数据:
- 用户已选择 Gate Pay 作为支付方式
- 所有必需的支付参数均已提供:
order_id、amount、currency - 用户已完成 Gate 支付授权(如果尚未完成,则暂停并引导用户完成授权)
判断:如果缺少任何必需输入 → 请用户提供完整信息。如果授权尚未完成 → 引导用户完成授权流程。否则继续步骤 1。
第 1 步:确认用户的付款意图
操作:确保用户明确表示要执行付款。
要提取的关键信息:
- 用户表达了付款意图(例如“付款”“确认付款”“结账”“帮我付款”)
- 用户尚未拒绝或取消付款
判断:如果用户意图不明确或为否定 → 不要继续付款。如果意图明确 → 继续第 2 步。
第 2 步:展示付款详情(可选)
操作:展示关键费用详情,供用户核实。这仅用于提供信息,无需强制用户明确确认。此操作不能替代第 1 步:调用付款工具仍要求用户已在该步骤中明确表示付款意图(参见安全规则)。
要提取的关键信息:
- 商户订单 ID
- 金额和币种
- 付款方式(Gate Pay)
输出格式:
Planned charge
Merchant order ID: {order_id}
Amount due: {amount} {currency}
Payment method: Gate Pay
判断:满足第 1 步的付款意图门槛后,展示详情并继续第 3 步;可选的展示仅用于提高透明度。
第 3 步:执行付款
操作:使用已验证的参数调用 Exchange MCP 工具 cex_pay_create_ai_order_pay(在 gate-cli/cmd/cex 中没有对应的 gate-cli 映射;参见 MCP_LEGACY_TOOL_RESOLUTION.md §二)。
使用以下参数调用 cex_pay_create_ai_order_pay(在 gate-cli/cmd/cex 中没有对应的 gate-cli 映射;参见 MCP_LEGACY_TOOL_RESOLUTION.md §二):
order_id:商户订单标识符amount:付款金额currency:付款币种- 其他 MCP
inputSchema中要求的字段
要提取的关键信息:
- 付款状态(成功/失败)
- 交易时间戳
- 付款确认详情(order_id、amount、status)
- 代金券字段(如适用,例如 prepayId),供后续使用
判断:如果付款成功 → 携带成功回执继续第 4 步。如果付款失败 → 携带失败处理结果继续第 4 步。
第 4 步:输出结果
操作:使用用户的语言向其报告付款结果(参见“语言”部分)。
成功路径:按照“报告模板”部分的格式输出回执。
失败路径:向用户提供易于理解的错误说明,不暴露内部错误代码或堆栈跟踪(参见“错误处理”部分)。
判断逻辑摘要
| 条件 | 状态 | 含义 |
|---|---|---|
| 付款输入完整 + 用户选择了 Gate Pay + 用户意图明确 + 授权有效 | 执行 | 通过 cex_pay_create_ai_order_pay 执行付款(在 gate-cli/cmd/cex 中没有对应的 gate-cli 映射;参见 MCP_LEGACY_TOOL_RESOLUTION.md §二) |
| 缺少 order_id、amount 或 currency | 阻止 | 请用户从商户订单页面提供完整的付款详情 |
| 用户尚未选择 Gate Pay | 阻止 | 此技能不适用;其他付款方式不在范围内 |
| 用户意图不明确或用户拒绝 | 阻止 | 不要发起付款;等待用户明确确认或处理取消 |
| 缺少授权、授权已过期或无效 | 阻止 | 引导用户先完成 Gate 账户付款授权 |
| 用户仅询问付款状态(没有可用的查询工具) | 告知 | 说明这一限制;不要通过再次扣款来推断状态 |
| 付款 API 返回成功 | 报告 | 输出包含交易详情的成功回执(本地化) |
| 付款 API 返回失败 | 报告 | 使用用户的语言说明失败原因并提供可执行的指引 |
报告模板
成功回执
使用用户语言的字段标签(参见“语言”部分)。模板格式如下(此处以英文标签为例):
✅ Payment Success
Merchant order ID: {order_id}
Amount paid: {amount} {currency}
Payment status: {status_text_matching_payment_result}
Payment time: {timestamp; include timezone or follow product rules}
Payment method: Gate Pay
⚠️ Important: Digital asset transactions are generally irreversible. Please verify the transaction details above.
代金券处理:如果成功的付款响应包含代金券类字段(最终名称以规范为准,例如 prepayId),后续步骤可使用这些字段从商户处获取资源。此技能不会获取资源;如适用,应保留代金券字段供外部使用。
失败说明
使用用户的语言(参见「语言」部分)。根据错误类型提供具体、可操作的指导:
模板:
❌ Payment Failed
Reason: {user_friendly_explanation}
Suggested action: {actionable_next_step}
请勿:向用户透露内部错误代码、堆栈跟踪或原始 API 响应。
运行时规则
在调用任何与支付相关的工具之前,请遵循本产品随附的 Agent 和 MCP 使用规则,并遵守 exchange-runtime-rules.md。
场景
面向审核人员的场景模板(正常流程、错误、本地化和安全边界)位于此技能目录下的 references/scenarios.md。使用该文件对照此 SKILL 检查一致性;不要将此路径视为 Skills Hub 超链接。
错误处理
| 错误类型 | 条件 | 用户消息(模板) | 建议操作 |
|---|---|---|---|
| 余额不足 | 支付 API 返回余额不足错误 | “支付失败:您的 Gate Pay 余额不足,无法完成此次支付。请为账户充值后重试。” | 引导用户存入资金或使用其他支付方式 |
| 授权已过期/无效 | API 指示授权缺失、已过期或无效 | “支付失败:您的 Gate 支付授权已过期或无效。请重新完成 Gate 账户授权。” | 引导用户完成 Gate 账户支付授权流程 |
| 未找到订单 | API 指示 order_id 不存在或无法找到 | “支付失败:订单 ID 无效或已失效。请向商家核实订单详情后重试。” | 请用户向商家获取有效的订单信息 |
| 订单已过期 | API 指示订单已过期或支付时限已关闭 | “支付失败:此订单已过期,无法继续支付。请向商家重新下单。” | 建议用户创建新订单或联系商家更换订单 |
| 重复支付 | 业务逻辑检测到对同一订单的重复扣款尝试 | “此订单已支付。请查看支付记录;如认为有误,请联系支持人员。” | 不要发起重复扣款;向用户说明此限制 |
| 参数无效 | 缺少必填字段或格式无效 | “无法处理支付:部分必填信息缺失或无效。请提供完整的订单详情(订单 ID、金额、币种)。” | 请用户提供完整且有效的支付参数 |
| 网络/系统错误 | API 超时、连接失败或未指定的系统错误 | “支付失败,原因是暂时的系统问题。请稍后重试;如果问题仍然存在,请联系支持人员。” | 建议稍后重试;不要透露技术错误详情 |
一般规则:
- 所有错误消息均使用用户的语言(参见「语言」部分)
- 不要向用户透露内部错误代码、堆栈跟踪或原始 API 响应
- 针对每种错误提供可操作的后续步骤
- 如果错误类型不明确,请提供中立建议,提示用户重试或联系支持人员
数据隐私与收集
此技能通过 Gate MCP 处理用户支付数据。所有数据都会直接传输至 Gate API 以执行支付。
数据处理声明:
- 数据收集:此技能会按支付执行所需,收集订单信息(订单 ID、金额、币种)和用户支付授权凭证
- 数据存储:此技能不会在本地存储任何用户数据。所有支付交易均由 Gate 的安全支付基础设施处理并记录
- 数据传输:支付数据仅传输至 Gate API 端点,不涉及任何第三方服务
- 数据保护:所有数据传输均使用符合 Gate 安全标准的加密通道
- 用户控制:用户可通过 Gate 官方平台查看支付历史记录。交易记录按照 Gate 的数据保留政策保存
年龄限制:此技能面向年满 18 周岁且具有完全民事行为能力的用户,符合 Gate 平台要求。
风险免责声明
⚠️ Gate Pay 用户重要须知:
-
损失风险:使用数字资产支付涉及财务风险;如果订单或商家信息有误,您可能会损失已扣款项。授权扣款前,请核实所有细节。
-
交易不可撤销:数字资产交易通常不可撤销。Gate Pay 支付成功执行后,无法撤销。确认支付前,请仔细核实所有订单详情(商家、金额、币种)。
-
非投资建议:此技能仅提供支付执行功能。任何支付决定均由用户自行负责。这不构成投资、财务、税务或法律建议。
-
遵守法规:用户必须确保其使用 Gate Pay 的行为符合其所在司法管辖区的适用法律法规。Gate 在多个司法管辖区持有运营许可。用户有责任了解并遵守当地支付和数字资产法规。
-
商家责任:Gate Pay 为向第三方商家付款提供便利。Gate 不对商家的产品、服务、配送、退款或争议负责。付款前,用户应核实商家的合法性。
-
AI 输出免责声明:AI 辅助支付处理仅为方便用户,不构成 Gate 对支付是否成功、商家是否可靠或交易结果的任何陈述、保证或担保。
安全规则
确认要求
此技能采用简化的支付执行确认模式:
- 确认用户意图:用户必须明确表达支付意图(例如“付款”“确认支付”“结账”)
- 参数核验:可显示支付详情(订单 ID、金额、币种)供用户核验,但只要用户已明确表达支付意图,就无需额外强制确认
- 单次确认:每次支付意图仅可使用一次。如果参数或商家详情发生变化,则必须重新确认意图
- 无意图不执行:用户未明确表达支付意图时,此技能仅以查询/信息模式运行
授权保护措施
- 执行前检查:调用
cex_pay_create_ai_order_pay前(gate-cli/cmd/cex中没有对应的gate-cli映射;参见MCP_LEGACY_TOOL_RESOLUTION.md§二),确认用户已完成 Gate 支付授权 - 授权验证:如果缺少授权、授权已过期或无效,则暂停支付,并引导用户完成授权流程
- 不得绕过:在任何情况下,支付执行都不得绕过授权要求
防止重复付款
- 交易追踪:在同一对话上下文中,不得对同一个 order_id 重复收费
- 状态查询限制:如果用户询问「我付款了吗?」,应说明查询限制,而不是通过发起重复收费来推断状态
安全要求
- 不得捏造订单信息、付款状态、时间戳或付款凭证。
- 如果输入不完整,或用户未选择通过 Gate Pay 付款,不得发起收费。
- 如果收费未成功,不得输出成功收据,也不得声称付款成功。
- 同一笔业务交易不得重复收费。
- 不得捏造支付 API 未返回的凭证字段。
- 不得在面向用户的消息中暴露敏感数据(API 密钥、内部错误代码、系统架构详情)。
- 调用支付 API 前,验证所有输入参数,以防止注入攻击或格式错误的数据攻击。