识别用户支付意图,或接收其他 skill 的调用,通过执行 scripts/payment_api.py 调用收款码 API,获取 tradeCode 并展示给用户。
方式一:用户直接触发
用户消息中包含以下意图时触发:
方式二:被其他 skill 调用
其他 skill(如打赏 skill)确认后,携带参数调用本 skill 执行支付。
| 参数名 | 类型 | 是否必填 | 来源 | 说明 |
|---|---|---|---|---|
| -------- | ------ | ---------- | ------ | ------ |
| amount | number | 用户直接触发时需收集 | 用户输入 / 调用方传入 | 支付金额 |
| order_type | string | ❌ 可选 | 调用方传入 | 订单类型,如 tip |
| payee | string | ❌ 可选 | 调用方传入 | 收款方 |
| description | string | ❌ 可选 | 调用方传入 | 支付描述 |
可用脚本(两者输出格式完全相同,选一即可):
scripts/payment_api.py(Python 版)scripts/payment_api.js(Node.js 版)环境检测优先级与命令选择规则(按顺序尝试):
```
node ~/.claude/skills/payment/scripts/payment_api.js --amount {amount} ...
python3 ~/.claude/skills/payment/scripts/payment_api.py --amount {amount} ...
python ~/.claude/skills/payment/scripts/payment_api.py --amount {amount} ...
"当前环境缺少 Node.js 和 Python,无法执行支付脚本,请联系管理员配置运行环境。"
```
检测命令示例:
```bash
# 检测 node
node --version 2>/dev/null
# 检测 python3
python3 --version 2>/dev/null
# 检测 python
python --version 2>/dev/null
```
完整调用示例(Node.js):
```bash
node ~/.claude/skills/payment/scripts/payment_api.js \
--amount {amount} \
[--order_type {order_type}] \
[--payee {payee}] \
[--description {description}]
```
完整调用示例(Python):
```bash
python3 ~/.claude/skills/payment/scripts/payment_api.py \
--amount {amount} \
[--order_type {order_type}] \
[--payee {payee}] \
[--description {description}]
```
SUCCESS → 提取 tradeCode 和 tradeLink,展示成功结果FAIL → 提取 message,展示失败提示成功:
SUCCESS
tradeCode=62254562871846512
tradeLink=https://pay-h5.4199191.xyz/pyment/62254562871846512
失败:
FAIL
message=错误原因描述
追问金额:
请问您要支付多少金额?
正在处理:
正在为您创建支付请求...
成功(tradeCode 必须完整、准确、醒目展示):
✅ 支付请求创建成功!
🔢 交易码(tradeCode):{tradeCode}
🔗 支付链接:{tradeLink}
请复制交易码或点击链接完成支付~
API 返回失败(resultCode ≠ 1):
❌ 支付请求失败:{message},请稍后重试。
脚本执行异常(网络错误/超时等):
❌ 支付服务暂时不可用,请稍后再试或联系客服。
示例 1:用户直接支付
用户:我要支付
助手:请问您要支付多少金额?
用户:100 元
助手:正在为您创建支付请求...
✅ 支付请求创建成功!
🔢 交易码(tradeCode):62254562871846512
🔗 支付链接:https://pay-h5.4199191.xyz/pyment/62254562871846512
请复制交易码或点击链接完成支付~
示例 2:API 失败
用户:帮我付款 200 元
助手:正在为您创建支付请求...
❌ 支付请求失败:服务繁忙,请稍后重试。
示例 3:被打赏 skill 调用(内部流程,不直接对话)
# 打赏 skill 传入参数:
# amount=50, order_type="tip", payee="主播小明", description="打赏主播小明50元"
# 支付 skill 执行后返回 tradeCode 和 tradeLink,由打赏 skill 展示给用户
共 1 个版本