File contents payment-skill 微信支付场景
业务流程图
用户意图
│
├─ 下单支付("帮我付款")──→ createOrder → 支付订单卡片
│ │
│ 用户点击"确认支付"
│ ↓
│ 调用 wx.requestPayment
│ ↓
│ 支付成功/失败
│
├─ 查询订单("查一下订单")──→ queryOrder → 订单状态卡片
│
├─ 关闭订单("取消这个订单")─→ closeOrder → 订单状态卡片(已关闭)
│
├─ 申请退款("我要退款")───→ refundOrder → 退款结果卡片
│
├─ 查询退款("退款进度")───→ queryRefund → 退款状态卡片
│
├─ 商家转账("转账给我")───→ transferMoney → 转账结果卡片
│
└─ 查询转账("转账到了吗")──→ queryTransfer → 转账状态卡片
createOrder 必须在支付前调用 ——先获取支付参数才能调起微信支付。
refundOrder 必须在订单支付成功后调用 ——未支付的订单无法退款。
closeOrder 仅适用于未支付的订单 ——已支付订单无法关闭,需走退款流程。
原子接口依赖关系
接口
作用
组件
前置条件
createOrder
创建支付订单并调起支付
payment-card
用户明确表达支付意图
queryOrder
查询订单状态
order-status-card
已有 outTradeNo
closeOrder
关闭未支付订单
order-status-card
订单状态为 NOTPAY
refundOrder
申请退款
refund-card
订单状态为 SUCCESS
queryRefund
查询退款进度
refund-card
已有 outRefundNo
transferMoney
发起商家转账
transfer-card
用户确认转账
queryTransfer
查询转账状态
transfer-card
已有 outBillNo
业务约束(跨接口铁律)
1. 输出形态
所有成功返回的接口(isError=false)且绑定了组件的,必须展示卡片 ,禁止以纯文本列出卡片中的详情数据。
Agent 回复时可附加一句简短引导话术,但禁止把订单号、金额、状态等以 markdown 列表形式展开 。
2. 执行顺序
refundOrder 必须在 queryOrder 确认订单为 SUCCESS 状态后调用。
closeOrder 必须在 queryOrder 确认订单为 NOTPAY 状态后调用。
禁止并发调用支付接口;须等上一笔结束后再发起下一笔。
3. 数据来源
outTradeNo 必须来自 createOrder 返回的 outTradeNo 原值,禁止编造。
outRefundNo 必须来自 refundOrder 返回的 outRefundNo 原值,禁止编造。
outBillNo 必须来自 transferMoney 返回的 outBillNo 原值,禁止编造。
4. 金额处理
所有金额单位为分 (如 1 元 = 100 分)。
禁止使用前端传入的金额直接下单,生产环境应从后端查询。
退款金额不能超过订单总金额。
5. 安全约束
后端通过 wx.cloud.callHTTPFunction 调用,平台自动鉴权。
payer.openid 由后端从 x-wx-openid header 自动获取,前端无需传递。
禁止在前端硬编码任何密钥或证书信息。
用户意图分流
直接意图(触发本 SKILL)
"帮我付款"
"我要支付"
"买单"
"查一下订单状态"
"这个订单还没付吧"
"取消订单"
"关闭这个订单"
"我要退款"
"申请退货退款"
"退款到哪了"
"转账给我"
"发红包"
意图分流规则
用户说出"付款/支付/买单" → createOrder
用户问"订单状态/查单" → queryOrder
用户说"取消/关闭订单" → closeOrder(先查单确认 NOTPAY)
用户说"退款/退钱" → refundOrder(先查单确认 SUCCESS)
用户问"退款进度/到账了吗" → queryRefund
用户说"转账/打款" → transferMoney
用户问"转账状态" → queryTransfer
用户表达歧义 → 先反问澄清,禁止猜测
1 --- 2 name: payment-skill 3 description: 微信支付集成 Skill:下单支付、查询订单、关闭订单、申请退款、查询退款、商家转账、查询转账 4 --- 5 6 # payment-skill 微信支付场景 7 8 ## 业务流程图 9 10 ``` 11 用户意图 12 │ 13 ├─ 下单支付("帮我付款")──→ createOrder → 支付订单卡片 14 │ │ 15 │ 用户点击"确认支付" 16 │ ↓ 17 │ 调用 wx.requestPayment 18 │ ↓ 19 │ 支付成功/失败 20 │ 21 ├─ 查询订单("查一下订单")──→ queryOrder → 订单状态卡片 22 │ 23 ├─ 关闭订单("取消这个订单")─→ closeOrder → 订单状态卡片(已关闭) 24 │ 25 ├─ 申请退款("我要退款")───→ refundOrder → 退款结果卡片 26 │ 27 ├─ 查询退款("退款进度")───→ queryRefund → 退款状态卡片 28 │ 29 ├─ 商家转账("转账给我")───→ transferMoney → 转账结果卡片 30 │ 31 └─ 查询转账("转账到了吗")──→ queryTransfer → 转账状态卡片 32 ``` 33 34 > **createOrder 必须在支付前调用**——先获取支付参数才能调起微信支付。 35 > **refundOrder 必须在订单支付成功后调用**——未支付的订单无法退款。 36 > **closeOrder 仅适用于未支付的订单**——已支付订单无法关闭,需走退款流程。 37 38 ## 原子接口依赖关系 39 40 | 接口 | 作用 | 组件 | 前置条件 | 41 |------|------|------|----------| 42 | createOrder | 创建支付订单并调起支付 | payment-card | 用户明确表达支付意图 | 43 | queryOrder | 查询订单状态 | order-status-card | 已有 outTradeNo | 44 | closeOrder | 关闭未支付订单 | order-status-card | 订单状态为 NOTPAY | 45 | refundOrder | 申请退款 | refund-card | 订单状态为 SUCCESS | 46 | queryRefund | 查询退款进度 | refund-card | 已有 outRefundNo | 47 | transferMoney | 发起商家转账 | transfer-card | 用户确认转账 | 48 | queryTransfer | 查询转账状态 | transfer-card | 已有 outBillNo | 49 50 ## 业务约束(跨接口铁律) 51 52 ### 1. 输出形态 53 - 所有成功返回的接口(isError=false)且绑定了组件的,**必须展示卡片**,禁止以纯文本列出卡片中的详情数据。 54 - Agent 回复时可附加一句简短引导话术,但**禁止把订单号、金额、状态等以 markdown 列表形式展开**。 55 56 ### 2. 执行顺序 57 - `refundOrder` 必须在 `queryOrder` 确认订单为 SUCCESS 状态后调用。 58 - `closeOrder` 必须在 `queryOrder` 确认订单为 NOTPAY 状态后调用。 59 - 禁止并发调用支付接口;须等上一笔结束后再发起下一笔。 60 61 ### 3. 数据来源 62 - `outTradeNo` 必须来自 `createOrder` 返回的 `outTradeNo` 原值,禁止编造。 63 - `outRefundNo` 必须来自 `refundOrder` 返回的 `outRefundNo` 原值,禁止编造。 64 - `outBillNo` 必须来自 `transferMoney` 返回的 `outBillNo` 原值,禁止编造。 65 66 ### 4. 金额处理 67 - 所有金额单位为**分**(如 1 元 = 100 分)。 68 - 禁止使用前端传入的金额直接下单,生产环境应从后端查询。 69 - 退款金额不能超过订单总金额。 70 71 ### 5. 安全约束 72 - 后端通过 `wx.cloud.callHTTPFunction` 调用,平台自动鉴权。 73 - `payer.openid` 由后端从 `x-wx-openid` header 自动获取,前端无需传递。 74 - 禁止在前端硬编码任何密钥或证书信息。 75 76 ## 用户意图分流 77 78 ### 直接意图(触发本 SKILL) 79 - "帮我付款" 80 - "我要支付" 81 - "买单" 82 - "查一下订单状态" 83 - "这个订单还没付吧" 84 - "取消订单" 85 - "关闭这个订单" 86 - "我要退款" 87 - "申请退货退款" 88 - "退款到哪了" 89 - "转账给我" 90 - "发红包" 91 92 ### 意图分流规则 93 - 用户说出"付款/支付/买单" → `createOrder` 94 - 用户问"订单状态/查单" → `queryOrder` 95 - 用户说"取消/关闭订单" → `closeOrder`(先查单确认 NOTPAY) 96 - 用户说"退款/退钱" → `refundOrder`(先查单确认 SUCCESS) 97 - 用户问"退款进度/到账了吗" → `queryRefund` 98 - 用户说"转账/打款" → `transferMoney` 99 - 用户问"转账状态" → `queryTransfer` 100 - 用户表达歧义 → 先反问澄清,禁止猜测
tencentcloudbase/awesome-miniprogram-skills/tree/main/skills/payment-skill commit 737cbb8a30
Frequently asked questions How do I install the Payment Skill skill? Run npx skillmds@latest add tencentcloudbase/payment-skill in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Payment Skill skill do? 微信支付集成 Skill:下单支付、查询订单、关闭订单、申请退款、查询退款、商家转账、查询转账 It is listed under Coding & Dev Tools on SkillMD.
Is Payment Skill safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Payment Skill? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Payment Skill free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Payment Skill? tencentcloudbase (@tencentcloudbase) published this skill. Their other Agent Skills are listed on their SkillMD profile.