核心功能
Clawtip 是面向第三方技能的支付中间件,主要提供三类核心能力:
1. 支付交易执行
- 接收来自调用方技能的
order_no和indicator参数 - 通过锁定的
@clawtip/clawtip-cli@1.0.1版本执行标准化支付命令 - 支持多状态流转:凭证获取 → 授权/鉴权 → 成功/处理中/失败
2. 用户 Token 创建
- 响应用户显式请求创建支付 Token
- 使用
create-token子命令完成注册
3. 注册状态查询与钱包查看
- 支持
check-register查询用户授权状态 - 提供标准化的钱包二维码查看链接
---
显著优点
| 维度 | 特性 |
|------|------|
| **版本锁定** | 强制使用 `@1.0.1` 固定版本,通过 `npm view` 预检确保包一致性 |
| **人机确认** | 所有支付/授权 URL 必须经用户明确确认,禁止自动轮询 |
| **凭证安全** | 内置沙盒令牌机制,严禁索要私钥或明文密码 |
| **失败回退** | 完整的 `步骤 2.1` 回退逻辑,区分授权链接与鉴权链接场景 |
| **状态解耦** | 支付凭证获取与状态判断分离,强制回调调用方确认状态 |
---
潜在局限
1. 网络依赖性强:每次会话需预检 NPM 远程源可用性,弱网环境可能阻塞流程
2. 交互流程冗长:授权/鉴权场景需用户扫码 → 人工确认 → 状态查询 → 重试支付,多轮交互
3. 版本冻结风险:长期锁定 1.0.1 版本,若上游出现安全补丁需手动更新 schema
4. 错误信息黑盒化:返回消息 字段由 CLI 控制,助手侧无法结构化解析
---
适用人群
- 第三方技能开发者:需要接入京东 Clawtip 支付生态的 ISV
- 终端用户:已通过 Clawtip 完成 KYC 的支付账户持有者
- 企业商户:需集成加密支付能力的电商平台
---
常规风险
| 风险类型 | 说明 |
|----------|------|
| 供应链攻击 | NPM 包被篡改可导致支付凭证泄露,虽有版本锁定但仍依赖上游源完整性 |
| 钓鱼授权 | 授权链接若被拦截替换,可能诱导用户向恶意地址授权 |
| 状态竞态 | 用户扫码后未及时同步状态,可能导致重复支付或超时 |
| 令牌泄露 | 日志中若未正确脱敏 `clawtip_id`,可能关联到用户身份 |
安全设计亮点
文档反复强调的 "不要自行解析支付状态" 和 "禁止跳过回调调用方" 体现了防御性编程思想,将状态仲裁权交还给调用方技能,避免中间层越权。