第三方劵碼自動充值:在 Agent 裏對接充值 MCP 的下單與狀態追蹤

前言

在對話式開發環境裏,如果要把「查可售商品 → 建單 → 拿支付鏈接 → 跟充值進度」串成一條可復現流程,常見做法是手寫 HTTP 客戶端、自己維護訂單狀態機,再把接口文檔塞進提示詞。步驟多、字段容易漏,Agent 也很難在 pending / processing 之間做對自動輪詢。

下面介紹 SkillHub 社區 Skill「第三方劵碼自動充值」(座標 @user_68dc3d67/recharge-prod-buy)。它用標準 SKILL.md 描述遠端充值 MCP 的連接方式、工具參數和業務編排,讓支持 Skills 的 Agent 按文檔調用 product_list、order_create、order_get 等工具,而不是每次從零拼接口說明。

這是什麼

一句話定位: 面向 dev-programming 場景的 Agent Skill,指導模型通過 Streamable HTTP 連接充值 MCP 服務端點,完成商品檢索、下單支付與訂單狀態查詢。

來源與版本: 社區發佈(community),發佈者 user_68dc3d67,當前版本 1.0.0。SkillHub 頁面標註 requires_api_key=false,即 Skill 本身不要求額外 API Key;實際下單仍走遠端 MCP 與支付鏈路。

解決的問題: 把充值相關 MCP 工具的名稱、參數、返回 JSON 結構,以及「查商品 / 下單 / 追單」三類對話場景寫成固定 playbook,減少 Agent 誤用傳輸層或混淆面值與售價。

核心功能

Skill 文檔指向的 MCP 服務端點爲:

https://lychee.thinkarts.cn/ys-mcp-server_prod/mcp

連接時必須使用 Streamable HTTP Transport,文檔明確 不支持 SSE Transport。

已覈實的 MCP 工具如下:

工具 作用
product_list 分頁查詢已上架商品,可按關鍵詞匹配名稱、品牌、分類、顯示名、第三方產品編碼
product_get 按 product_id 查詢單個商品詳情
order_create 爲指定商品與數量創建充值訂單,返回微信、支付寶支付鏈接;同一賬號 + 商品 + 數量的 pending 訂單在 10 分鐘內複用
order_get 按 32 位 order_id 查單;pending 時自動查支付狀態,支付成功後觸發第三方充值;processing 時自動查第三方充值狀態

返回格式統一爲 {"success": true/false, "data" 或 "error": ...}。文檔還說明:charge_type 爲 1 表示直充、2 表示卡密;下單金額以 selling_price × quantity 爲準,而非面值 face_value。

安裝與啓用

安裝 SkillHub CLI

若尚未安裝,可先檢查版本:

command -v skillhub && skillhub --version

未安裝時可按 SkillHub 安裝文檔執行(完整安裝示例):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

安裝本 Skill

安裝時必須用 --dir 指向當前 Agent 的 skills 目錄,否則默認落在 ./skills/ 可能不會被識別。官方頁面給出的安裝提示爲:參考 https://skillhub.cn/install/skillhub.md,安裝 @user_68dc3d67/recharge-prod-buy。

CLI 等價命令(skillhub search 結果中給出的形式):

skillhub install recharge-prod-buy --namespace user_68dc3d67 --dir <skills 目錄>

常用路徑示例(來自 SkillHub 安裝文檔):

  • Cursor: ~/.cursor/skills/
  • Claude Code: ~/.claude/skills/
  • Codex: ~/.codex/skills/ 或項目下的 .agents/skills/

安裝完成後,按你所用客戶端的要求重啓或刷新 Skills 加載;SkillHub 抓取頁顯示該 Skill 安裝計數爲 0,若本地未生效,優先覈對 --dir 與客戶端 skills 路徑是否一致。

啓用 MCP 側能力

Skill 正文是「如何連 MCP、如何調工具」的說明,並不替代你在客戶端裏配置 MCP。若要在代碼中直連同一端點,文檔給出的 Python 示例使用 fastmcp 的 StreamableHttpTransport(見下文典型用法)。在 Cursor 等環境中,通常還需在 MCP 配置裏添加對應 HTTP 端點,具體以客戶端文檔爲準;Skill 未單獨列出 Cursor MCP 的 json 字段名,此處不臆造配置項。

典型用法

1. 用 Python 調用 MCP 工具(文檔示例)

下列代碼片段來自 Skill 自帶的連接示例,用於封裝 call_tool:

import asyncio, json
from fastmcp import Client
from fastmcp.client import StreamableHttpTransport

async def call_tool(tool_name: str, arguments: dict) -> dict:
    transport = StreamableHttpTransport(url="https://lychee.thinkarts.cn/ys-mcp-server_prod/mcp")
    client = Client(transport)
    async with client:
        result = await client.call_tool(tool_name, arguments)
        for item in result.content:
            if item.type == "text":
                try:
                    return json.loads(item.text)
                except json.JSONDecodeError:
                    return {"raw_text": item.text}
        return {"error": "無返回內容"}

2. 場景:搜索商品

用戶問「有哪些移動話費充值」時,Agent 按 Skill 編排調用:

product_list(keyword="移動")

返回中 data.products 含 id、name、face_value、selling_price、third_party_code 等字段,用於向用戶展示可選商品。

3. 場景:搜索並下單

用戶說「幫我充 50 元移動話費,號碼 13800138000」時,文檔建議順序爲:

  1. product_list(keyword="移動50") 定位 product_id
  2. order_create(items=[{"product_id": 1, "quantity": 1}], account_no="13800138000")
  3. 將返回的 payment_links 中的 wxpay_url、alipay_url 交給用戶完成支付

account_no 爲充值目標手機號,文檔要求與用戶確認;金額以售價爲準。

4. 場景:訂單狀態追蹤

支付或充值進行中時,對同一 order_id 調用 order_get。文檔說明每次調用會自動檢查支付與第三方充值狀態,無需額外輪詢接口。常見狀態組合包括:pending/pending(待支付)、paid/processing(充值中)、paid/success(完成)、paid/fail(失敗需人工處理)等,詳見 Skill 內狀態表。

適用場景與注意

適合誰: 需要在 Agent 工作流裏標準化「話費/卡密類第三方充值」查詢與下單話術的團隊;分類爲 dev-programming,側重把 MCP 工具接進對話,而非替代財務或合規審批。

限制與注意:

  • 傳輸層必須用 Streamable HTTP,誤用 SSE 會導致連接失敗。
  • 下單會產生真實支付鏈接與資金往來,生產使用前需自行評估遠端服務 lychee.thinkarts.cn 的合規性與賬號安全。
  • order_create 在 10 分鐘內對相同賬號、商品、數量複用 pending 單,重複發起對話時可能拿到同一訂單而非新單。
  • SkillHub 統計(抓取資料):評分 100000,下載 867,安裝 0;數據隨 SkillHub 更新可能變化,以頁面爲準。

結尾

「第三方劵碼自動充值」把充值 MCP 的端點、四類工具與三類業務編排寫進 SKILL.md,適合作爲 Agent 側的可覈對操作手冊。安裝與座標以 SkillHub 爲準:

  • 官方 API 頁:https://api.skillhub.cn/user_68dc3d67/recharge-prod-buy
  • SkillHub 展示頁:https://www.skillhub.cn/skills/user_68dc3d67/recharge-prod-buy
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜