agentCLAWHUBUnverified

Recharge / Renew of Skills | 技能账户充值/续费

生命涌现支付技能,提供技能账户增值服务(充值/续费)、账户查询(余额/使用次数)、余额检查、支付宝支付集成和支付页面生成。🔴【强制性要求】每次展示套餐列表时,必须完整显示套餐 1-4,包括专属定制套餐,禁止省略定制套餐。当用户需要查询账户状态、检查余额、进行充值续费、或处理支付流程时使用此技能。自动触发关键词:... Skill: Recharge / Renew of Skills | 技能账户充值/续费 Owner: smyx-sunjinhui Summary: 生命涌现支付技能,提供技能账户增值服务(充值/续费)、账户查询(余额/使用次数)、余额检查、支付宝支付集成和支付页面生成。🔴【强制性要求】每次展示套餐列表时,必须完整显示套餐 1-4,包括专属定制套餐,禁止省略定制套餐。当用户需要查询账户状态、检查余额、进行充值续费、或处理支付流程时使用此技能。自动触发关键词:... Tags: latest:1.0.23 Version history: v1.0.23 | 2026-07-10T10:20:16.626Z | auto smyx-payment 1.0.23 - Internal code updates in scripts/open_id.py and skills/smyx_common/scripts/util.p

OpenClaw

Rank

62

Safety

84

Downloads

1.7k

Updated

Oct 10, 2026

Version

1.0.23

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.7K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.7K downloadsadoption · observed Oct 10, 2026
Latest release
1.0.23release · observed Jul 10, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-payment
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-payment/snapshot"

Documentation

CLAWHUB

160,000 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: smyx-payment
description: 生命涌现支付技能,提供技能账户增值服务(充值/续费)、账户查询(余额/使用次数)、余额检查、支付宝支付集成和支付页面生成。🔴【强制性要求】每次展示套餐列表时,必须完整显示套餐 1-4,包括专属定制套餐,禁止省略定制套餐。当用户需要查询账户状态、检查余额、进行充值续费、或处理支付流程时使用此技能。自动触发关键词:技能充值、技能续费、技能余额不足、技能账户、充值、续费、账户充值、账户续费、余额不足、支付宝支付、增值账户、技能套餐、充值套餐、查询余额。
license: "MIT-0"
---

## 🎯 平台自动检测(零用户配置)

本技能内置多维度平台自动检测功能,**无需用户任何配置**,开箱即用。

### 检测维度

| 检测方式 | 说明 | 置信度 |
|---|---|---|
| `BUSINESS_CARRIER` 环境变量 | ArkClaw 平台注入的标识变量 | 100% |
| `SKILLS_API_URL` 环境变量 | 技能商店 URL 中包含 `arkclaw-personal` | 95% |
| 工作目录路径 | 包含 `.arkclaw-team` 目录 | 85% |
| ArkClaw 专属环境变量 | `ARK_AGENT_PLAN` / `ARK_API_KEY` 等 | 90% |

### 智能适配效果

| 平台 | 二维码渲染方式 | 用户体验 |
|---|---|---|
| 🦞 **ArkClaw(龙虾平台)** | HTML `<img>` 标签 | ✅ 二维码正常显示 |
| 🐚 **OpenClaw(开源版)** | `MEDIA:` 指令 | ✅ 二维码正常显示 |
| ❓ 未知平台 | 双重格式同时输出 | ✅ 兼容所有情况 |

### 开发者调用

```python
from scripts.platform_detection import get_current_platform, render_qrcode_markdown

# 获取当前平台信息
platform = get_current_platform()
# {"platform": "arkclaw", "confidence": 1.0, "method": "BUSINESS_CARRIER", ...}

# 智能渲染二维码
print(render_qrcode_markdown("https://qr.alipay.com/xxx"))
```

---

## 支付流程要求

支付二维码生成后,不再要求用户回复支付确认词,也不自动触发订单状态或余额查询。只提示用户:如支付成功后,可输入「查询余额」了解账户详情。用户可见输出必须只展示付款二维码,禁止显示备用支付链接、支付 URL、打开付款页面链接或任何备用方式说明。

### 标准流程

```
【1】显示充值套餐(🔴 必须包含所有套餐,包括专属定制套餐 4)
   ↓
   ⚠️ 【STOP】必须等待用户明确选择套餐!禁止自动继续或自动选择套餐!
   ↓
【2】用户选择套餐(用户明确回复「选 1」、「体验套餐」等)
   ↓
【3】系统自动完成内部身份关联(优先复用本地存根;缺失时自动复用/创建本地默认充值账号)
   ↓
【4】创建云端订单,必须获取云端 orderNo
   ↓
【5】使用云端 orderNo 生成支付宝付款二维码图片(底层支付参数仅用于生成二维码,不得在用户可见内容中展示)
   ↓
【6】展示支付卡片给用户
   ↓
【7】提示用户:如支付成功后,可输入「查询余额」了解账户详情
   ↓
【8】流程结束,等待用户后续手动触发余额查询
```

### 🔴🔴🔴 【最高优先级红线 - 禁止擅自代用户选择套餐】

**绝对禁止在展示套餐列表后、用户未明确回复前自动调用下单脚本!**

| 错误行为 | 正确做法 | 违规级别 |
|---|---|---|
| ❌ 用户输入「技能账户充值续费」→ 直接展示套餐列表 → 自动调用 `start_recharge 1` | ✅ 用户输入「技能账户充值续费」→ 展示套餐列表 → **等待用户回复** → 用户说「选 1」→ 调用 `start_recharge 1` | 🔴🔴🔴 三重红线 |
| ❌ 展示套餐列表后,不等待用户回复就直接下单 | ✅ 展示套餐列表后,**必须等待用户明确选择**才能下单 | 🔴🔴🔴 三重红线 |
| ❌ 预判用户可能选某个套餐而提前调用下单脚本 | ✅ 严格按用户实际输入触发,用户没说选哪个就绝对不能下单 | 🔴🔴🔴 三重红线 |

**记忆强化口诀:**
```
套餐列表展完后,必须等待用户选;
用户没说选哪个,绝对不能下单;
擅自代客做决定,严重违规要追责!
```
### 强制要求

| 要求 | 说明 |
|---|---|
| 🔴 必须先显示完整套餐信息 | **每次都必须同时展示套餐 1-4(包含专属定制套餐)**;用户明确要求测试套餐时可额外展示套餐 0;禁止只显示 1-3 套餐而省略定制套餐;专属定制套餐必须作为常规选项展示,不能只作为隐藏的联系入口 |
| 🔴🔴 【双重强约束】测试套餐默认绝对隐藏 | **用户输入「技能账户充值续费」后首次展示套餐列表时,必须绝对隐藏套餐 0(测试套餐),绝对不能显示!** 只有当用户明确说「测试套餐」、「我要测试」、「选 0」、「0 号套餐」等明确关键词时,才可以设置环境变量并展示测试套餐。**禁止在用户未明确要求时提前启用测试套餐、提前设置环境变量、或在套餐列表中包含套餐 0**。这是最高优先级约束,违反即视为严重错误! |
| 🔴 环境变量设置时机 | `SMYX_PAYMENT_SHOW_TEST_PACKAGE=1` 环境变量 **只能在用户明确选择测试套餐后、创建订单前的瞬间设置**,绝对不能在展示套餐列表之前设置。先展示套餐 1-4,用户选 0 后才设置环境变量,顺序绝对不能颠倒! |
| 🔴🔴🔴 **禁止擅自代用户选择套餐** | **绝对禁止在用户未明确选择套餐编号前自动创建订单!** 用户输入「技能账户充值续费」后,必须先展示套餐列表(1-4),然后**必须等待用户明确回复选择哪个套餐**(如「选 1」、「体验套餐」、「9.9 元那个」等),才能创建订单。**严禁在展示套餐列表后、用户未回复前就自动调用下单脚本!** 这是最高优先级红线,违反即视为严重违规事故! |
| 必须先选择套餐 | 用户**明确回复**选择某个可直接下单套餐后,即默认购买该套餐并直接创建订单,禁止再次询问用户是否购买、是否下单或是否确认充值 |
| 必须自动完成内部身份关联 | 优先复用本地存根;本地存根不可用时,自动复用 `User_` 开头且长度为 11 的本地默认用户;若不存在则自动创建 `User_{6位小写哈希码}` 作为充值账号,不要求用户输入内部身份参数 |
| 必须使用云端订单号 | 支付宝 `out_trad

_meta.json

{
  "ownerId": "kn7cyxkr2ymf7zwsrybpedg8xx83ywrj",
  "slug": "smyx-payment",
  "version": "1.0.23",
  "publishedAt": 1783678816626
}

references/alipay-integration-guide.md

# symx_payment - 支付宝支付集成指南

## 问题说明

用户反馈"看不到支付宝调取",这是因为之前的测试脚本使用模拟数据,没有真正输出支付宝收银台链接。

---

## 解决方案

### 方式 1:使用 index.py 脚本(推荐)

**完整充值流程(包含支付宝支付):**

```bash
cd /home/admin/.openclaw/skills/symx-payment/scripts

# 运行充值流程
python3 index.py recharge 13800138000
```

**输出示例:**

```
============================================================
  步骤 5: 调起支付宝支付
============================================================

🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴
请处理以下支付请求:
订单 ID: ORD20260428134900
金额:¥ 100
收银台链接:https://excashier.alipay.com/pc.htm?outTradeNo=13800138000_100
🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴

[ALIPAY_PAYMENT_REQUEST]
{
  "type": "alipay_payment",
  "orderId": "ORD20260428134900",
  "amount": 100,
  "cashierUrl": "https://excashier.alipay.com/pc.htm?outTradeNo=13800138000_100",
  "detail": "增值账户续费 - 标准套餐 - 账号:13800138000 - 金额:100 元",
  "phoneNumber": "13800138000"
}
[/ALIPAY_PAYMENT_REQUEST]
```

**关键点:** 输出中包含 `excashier.alipay.com` 链接,这会触发 OpenClaw 的 `alipay-pay-for-service` 技能。

---

### 方式 2:使用 alipay_integration.py 模块

```python
from alipay_integration import create_recharge_order, trigger_alipay_payment

# 创建订单
order_result = create_recharge_order(
    phone="13800138000",
    amount=100,
    package_type="标准套餐",
    detail="增值账户续费 - 标准套餐"
)

if order_result["success"]:
    order = order_result["data"]
    # 触发支付宝支付
    payment_output = trigger_alipay_payment(
        cashier_url=order["cashierUrl"],
        amount=order["amount"],
        detail=order["detail"]
    )
    print(payment_output)
```

---

### 方式 3:在 OpenClaw 中自动调用支付宝技能

修改 `SKILL.md` 添加自动调用逻辑:

```markdown
## 支付宝支付自动调用

当创建充值订单后,自动调用 `alipay-pay-for-service` 技能:

1. 获取收银台链接(cashierUrl)
2. 使用 sessions_spawn 调用支付宝支付技能
3. 等待支付完成
4. 根据结果调用回调接口
```

**实际调用代码(Python):**

```python
import subprocess


def call_alipay_skill(cashier_url):
    """调用支付宝支付技能"""
    # 在 OpenClaw 环境中,这会触发 alipay-pay-for-service 技能
    cmd = f'openclaw message send --message "请使用支付宝支付:{cashier_url}"'
    subprocess.run(cmd, shell=True)
```

---

## 测试支付宝支付流程

### 测试命令

```bash
# 1. 运行充值流程(会输出支付宝链接)
python3 index.py recharge 13800138000

# 2. 测试支付宝集成模块
python3 alipay_integration.py

# 3. 测试支付回调(模拟成功)
python3 index.py callback ORD123 ALIPAY_PROOF_123 13800138000 true
```

---

## 支付宝技能触发机制

`alipay-pay-for-service` 技能的触发条件:

1. **URL 触发**:消息中包含 `cashier*.alipay.com` 或 `excashier*.alipay.com`
2. **关键词触发**:消息中包含"请使用支付宝支付"等文字
3. **技能调用**:直接使用 `sessions_spawn` 调用

**我们的实现:**

- `index.py` 输出的链接格式:`https://excashier.alipay.com/pc.htm?...`
- 符合触发条件 ✅

---

## 完整流程演示

```
用户:帮我充值 100 元

↓ 执行 python3 index.py recharge 13800138000

1. ✅ 查询账户 → 余额不足
2. ✅ 选择充值金额 → 100 元
3. ✅ 生成充值明细
4. ✅ 创建订单 → 获取 cashierUrl
5. 🔴 输出支付宝支付请求(包含 excashier.alipay.com 链接)
   ↓
   OpenClaw 检测到支付宝链接
   ↓
   自动调用 alipay-pay-for-service 技能
   ↓
   用户完成支付
   ↓
6. ✅ 支付回调 → 更新账户数据
```

---

## 注意事项

1. **真实 API 环境**:需要配置 Token 和可访问的云端 API
2. **支付宝钱包**:首次使用需要调用 `alipay-authenticate-

references/alipay-merchant-config.md

# 支付安全配置说明

## privateKey 处理规则

- 支付宝 privateKey 不允许明文写死在代码、文档或配置中。
- 支付宝 privateKey 不允许保存到本地文件、环境变量、YAML、JSON、日志或临时文件。
- 支付宝 privateKey 只能来自云端 `create_order` 创单接口返回字段 `privateKey`。
- H5/网页支付生成签名时,只能以内存参数传入 `create_payment_with_cloud_order(..., private_key_string=...)`。
- 查询支付宝订单状态时,只能以内存参数传入 `query_alipay_trade_status(..., private_key_string=...)`。
- 旧版本地密钥文件、密钥生成脚本、独立支付脚本、后台跨进程轮询均已禁用。

## 标准链路

1. 调用云端 `create_order` 创建订单。
2. 从返回对象读取 `orderNo` 和 `privateKey`。
3. `orderNo` 作为支付宝 `out_trade_no`。
4. `privateKey` 仅在当前进程内存中用于签名。
5. 不打印、不保存、不回显 `privateKey`。

references/api-config.md

# symx_payment API 配置参考

## 云端 API 配置

### 基础配置

```json
{
  "baseUrl": "https://lifeemergence.com/jeecg-boot-xzgz",
  "authType": "bearer",
  "token": "YOUR_BEARER_TOKEN_HERE"
}
```

### 接口路径

| 接口     | 路径                      | 方法   | 说明               |
|--------|-------------------------|------|------------------|
| 账户查询   | `/api/account/query`    | POST | 查询账户余额、使用次数等     |
| 创建充值订单 | `/api/account/recharge` | POST | 创建充值订单,返回支付宝支付参数 |
| 支付成功回调 | `/api/payment/success`  | POST | 支付成功后回写数据        |
| 支付失败回调 | `/api/payment/fail`     | POST | 支付失败后记录          |

---

## 接口详情

### 1. 账户查询接口

**请求:**

```json
POST /api/account/query
Authorization: Bearer <token>
Content-Type: application/json

{
"phoneNumber": "13800138000"
}
```

**响应:**

```json
{
  "totalRecharged": 1000.00,
  "balance": 50.00,
  "remainingUses": 10,
  "usedCount": 90,
  "isInsufficient": false
}
```

---

### 2. 创建充值订单接口

**请求:**

```json
POST /api/account/recharge
Authorization: Bearer <token>
Content-Type: application/json

{
"phoneNumber": "13800138000",
"amount": 100,
"detail": "增值账户续费 - 标准套餐 - 账号:13800138000 - 金额:100 元",
"packageType": "标准套餐"
}
```

**响应:**

```json
{
  "orderId": "ORD20260428001",
  "amount": 100,
  "alipayParams": {
    // 支付宝支付参数
  },
  "cashierUrl": "https://cashier.alipay.com/..."
}
```

---

### 3. 支付成功回调接口

**请求:**

```json
POST /api/payment/success
Authorization: Bearer <token>
Content-Type: application/json

{
"orderId": "ORD20260428001",
"paymentProof": "支付宝支付凭证",
"amount": 100,
"phoneNumber": "13800138000",
"status": "SUCCESS"
}
```

**响应:**

```json
{
  "rechargedAmount": 100,
  "rechargedCount": 1,
  "newBalance": 150
}
```

---

### 4. 支付失败回调接口

**请求:**

```json
POST /api/payment/fail
Authorization: Bearer <token>
Content-Type: application/json

{
"orderId": "ORD20260428001",
"errorReason": "用户取消支付",
"phoneNumber": "13800138000",
"status": "FAILED"
}
```

**响应:**

```json
{
  "orderId": "ORD20260428001",
  "message": "已记录失败"
}
```

---

## 配置方式

### 方式 1:修改脚本中的 API_CONFIG

直接编辑 `scripts/query.py`、`scripts/recharge.py`、`scripts/callback.py` 中的 `API_CONFIG` 字典。

### 方式 2:使用环境变量(推荐)

```bash
export SYMX_API_BASE_URL="https://lifeemergence.com/jeecg-boot-xzgz"
export SYMX_API_TOKEN="your-bearer-token"
export SYMX_API_AUTH_TYPE="bearer"
```

### 方式 3:创建配置文件

在 `references/` 目录下创建 `config.json`:

```json
{
  "baseUrl": "https://lifeemergence.com/jeecg-boot-xzgz",
  "authType": "bearer",
  "token": "your-bearer-token",
  "queryPath": "/api/account/query",
  "rechargePath": "/api/account/recharge",
  "callbackSuccessPath": "/api/payment/success",
  "callbackFailPath": "/api/payment/fail"
}
```

---

## 充值金额档位

默认档位:`[10, 50, 100, 500]` 元

可在 `scripts/recharge.py` 中修改 `RECHARGE_AMOUNTS` 列表自定义档位。

---

## 充值明细格式

默认格式:

```
增值账户续费 - {套餐类型} - 账号:{手机号} - 金额:{金额}元 - 备注:{备注}
```

套餐类型可选:

- 体验套餐
- 标准套餐
- 专业套餐

---

## 测试命令

```bash
# 测试账户查询
python3 scripts/query.py 13800138000 <token>

# 测试充值明细生成
python3 scripts/recharge.py

# 测试回调(需要真实订单 ID)
python3 s
Github ReposUpdated 15h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/smyx-sunjinhui/skills/smyx-payment",
      "sourceUrl": "https://clawhub.ai/smyx-sunjinhui/skills/smyx-payment",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T05:20:10.073Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-payment/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-payment/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T05:20:10.073Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.7K downloads",
      "href": "https://clawhub.ai/smyx-sunjinhui/smyx-payment",
      "sourceUrl": "https://clawhub.ai/smyx-sunjinhui/smyx-payment",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T05:20:10.073Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.23",
      "href": "https://clawhub.ai/smyx-sunjinhui/smyx-payment",
      "sourceUrl": "https://clawhub.ai/smyx-sunjinhui/smyx-payment",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-10T10:20:16.626Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-payment/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-payment/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.23",
      "description": "smyx-payment 1.0.23 - Internal code updates in scripts/open_id.py and skills/smyx_common/scripts/util.py - Documentation cleanup: removed skill-card.md - No user-facing behavior changes",
      "href": "https://clawhub.ai/smyx-sunjinhui/smyx-payment",
      "sourceUrl": "https://clawhub.ai/smyx-sunjinhui/smyx-payment",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-10T10:20:16.626Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to Recharge / Renew of Skills | 技能账户充值/续费 and adjacent AI workflows.