Install
openclaw skills install wechatpay-skill微信支付接入助手Python/Node.js专精版。基于微信支付官方Skills改造, 补充官方缺失的Python和Node.js代码示例,专为小程序开发者优化。 支持JSAPI支付、小程序支付、Native支付、APP支付、付款码支付的选型指导、 代码示例(Python/Node.js/Java/Go)、业务知识速查、接入质量评估和问题排查。
openclaw skills install wechatpay-skill基于微信支付官方Skills(MIT协议)改造 官方只有Java/Go示例?我们补全了Python和Node.js! 专为小程序开发者优化,上线前必查!
本技能基于微信支付官方 wechatpay-skills(MIT协议)改造,新增:
⚠️ Python/Node.js示例为参考实现,由AI基于官方Java示例翻译生成,非微信支付官方维护。
- 请逐行review签名构造、HTTP调用、字段命名、回调解密等关键逻辑
- 上线前必须在测试环境完整验证
- 出现问题时请以官方Java/Go示例为准
‼️ 以下规则适用于本技能所有能力、所有对话轮次,优先级高于各能力的局部规则。
如果一次提出了多个问题,必须逐一检查每个问题是否都已获得用户的明确答复。对于未回答的问题,必须再次追问,严禁对未回答的问题自行假设、推断或使用默认值。
任何能力使用前须先确认商户模式或服务商模式,已明确则无需重复。
简单知识问答除外,需要帮用户排查、分析或执行操作时必须遵守:
| 步骤 | 操作 | 说明 |
|---|---|---|
| ① 明确需求 | 先理解用户问题,给出初步判断或原因分析 | 不要一上来就堆参数清单 |
| ② 征得同意 | 主动提出下一步能做什么,等用户明确同意后才继续 | 严禁用户没表态就开始收集参数或执行操作 |
| ③ 收集信息 | 用户同意后再告知需要哪些信息并逐项收集 | 收齐才能执行 |
| ④ 执行前确认 | 简要说明即将做什么,确认用户同意后再执行 | 涉及线上环境须额外提示风险 |
| 能力 | 说明 | 适用场景 |
|---|---|---|
| 🔍 产品选型 | 根据场景推荐支付方式(JSAPI/APP/H5/Native/小程序/付款码) | 「该用哪种支付?」 |
| 💻 代码示例 | Python/Node.js/Java/Go示例代码(重点是Python/Node.js) | 「给我JSAPI支付代码」 |
| 📚 业务速查 | 订单状态、退款规则、APPID绑定、签名规则 | 「这个参数怎么获取?」 |
| ✅ 质量评估 | 签名验签、回调处理规范性检查 | 「帮我检查代码隐患」 |
| 🔧 问题排查 | 常见错误码、调试方法 | 「支付报错了怎么办?」 |
用户问「该用哪种支付方式」或比较各方式区别时 → 加载
支付产品对比.md
| 支付方式 | 适用场景 | 技术要点 |
|---|---|---|
| JSAPI支付 | 微信内打开的H5页面 | 需要openid,需已关注公众号 |
| 小程序支付 | 微信小程序内支付 | 需要openid,需在mp.weixin.qq.com发起 |
| Native支付 | PC网站生成二维码扫码支付 | 需要预下单,生成code_url展示二维码 |
| APP支付 | iOS/Android原生了调用微信 | 调起App,package值固定为Sign=WXPay |
| H5支付 | 手机浏览器(非微信) | 需要设置redirect_url,有支付目录限制 |
| 付款码支付 | 线下收银台扫用户付款码 | 被扫模式,扣用户零钱/卡 |
你的用户在哪?
├── 微信小程序内 → 小程序支付
├── 微信内打开的H5/公众号 → JSAPI支付
├── PC网站 → Native支付
├── 原生App(iOS/Android)→ APP支付
├── 手机浏览器(非微信)→ H5支付
└── 线下扫码枪/收银台 → 付款码支付
用户要某个接口的代码示例时 → 确认接入模式和语言,加载对应文件
| 规则 | 说明 |
|---|---|
| 只检索、不生成 | 严禁从零编写代码,必须从代码示例文件中检索 |
| 只展示、不写入 | 代码仅用于讲解,严禁直接写入用户项目 |
| 先交互、后输出 | 提供代码前必须先确认接入模式、开发语言和具体接口 |
| 一次只输出一个接口 | 不要一次性输出太多代码 |
每次提供代码前必须确认:
⚠️ 支付方式仅「下单」和「调起支付」接口需确认,其他接口(查单、退款、回调)各支付方式完全相同。
我们的差异化优势是Python和Node.js示例,优先推荐Python或Node.js:
| 模式 | 语言 | 索引文件 |
|---|---|---|
| 商户模式 | Python | 📄 Python接口索引.md |
| 商户模式 | Node.js | 📄 Node.js接口索引.md |
| 服务商模式 | Python | 同上结构 |
| 服务商模式 | Node.js | 同上结构 |
用户使用Python/Node.js时:直接输出我们的完整代码示例,无需额外确认。
用户使用Java/Go时:输出官方示例,文件位置在:
| 接口 | 文件路径 |
|---|---|
| JSAPI支付-下单 | 📄 JSAPI支付.md |
| JSAPI支付-回调处理 | 📄 回调处理.md |
| 小程序支付-下单 | 📄 小程序支付.md |
| 退款 | 📄 退款.md |
| Native支付-下单 | 📄 Native支付.md |
| APP支付-下单 | 📄 APP支付.md |
| 接口 | 文件路径 |
|---|---|
| JSAPI支付-下单 | 📄 JSAPI支付.md |
| JSAPI支付-回调处理 | 📄 回调处理.md |
| 小程序支付-下单 | 📄 小程序支付.md |
| 退款 | 📄 退款.md |
| Native支付-下单 | 📄 Native支付.md |
| APP支付-下单 | 📄 APP支付.md |
用户问参数获取、APPID绑定、订单状态、退款规则等业务知识时
| 问题类型 | 关键文档 |
|---|---|
| 开发必要参数(mchid、serial_no等) | 📄 开发必要参数说明.md |
| V3签名构造规则 | 📄 签名与验签规则.md |
| 订单状态流转 | 📄 订单状态流转.md |
| 回调通知处理 | 📄 回调处理.md |
| 退款规则 | 在代码示例的注释中,通过能力2加载 |
| 分账 | 📄 分账接入指南.md |
小程序支付有特殊要求,必须确认:
用户准备上线或想检查代码隐患时
未使用的功能不检查、不提及。
| 检查项 | 关键文档 |
|---|---|
| 签名验签完整性 | 📄 签名与验签规则.md |
| 回调处理规范性 | 📄 回调处理.md |
| 业务逻辑完整性 | 📄 接入质量检查清单.md |
| 常见踩坑速查 | 📄 常见踩坑速查表.md |
用户遇到报错或接口调用异常时
用户报错了吗?
├── 有Request-Id → 按错误码在排障手册定位
├── 无Request-Id → 按支付方式查常见问题
└── 其他 → 加载排障手册兜底
| 问题类型 | 文档 |
|---|---|
| 错误码TOP20速查 | 📄 排障手册.md |
| 常见踩坑速查 | 📄 常见踩坑速查表.md |
| 小程序支付常见问题 | 📄 小程序支付常见问题.md |
| 签名相关问题 | 📄 签名与验签规则.md |
| 错误码 | 含义 | 解决方案 |
|---|---|---|
| INVALID_REQUEST | 参数问题 | 检查请求参数格式、必填字段 |
| SIGN_ERROR | 签名错误 | 检查签名算法、签名串构造、证书序列号 |
| ORDER_NOT_EXISTS | 订单不存在 | 检查商户订单号是否正确 |
| ORDER_CLOSED | 订单已关闭 | 订单超时未支付,已自动关单 |
| SYSTEM_ERROR | 系统错误 | 重试,如持续报错联系微信支付技术支持 |
| BANK_ERROR | 银行异常 | 用户换卡或换支付方式 |
| USER_ABORTING | 用户取消 | 正常流程,无需处理 |
小程序开发者必看!
1. 前端:小程序调用 wx.login() 获取code
2. 后端:用code + appid + secret 换取 openid
3. 后端:调用微信支付V3接口下单(openid作为openid最小会员标识)
4. 后端:返回 prepay_id 给前端
5. 前端:小程序调用 wx.requestPayment() 调起支付
6. 后端:接收微信支付回调通知
7. 后端:处理回调(更新订单状态等)
| 注意项 | 说明 |
|---|---|
| appid与mchid绑定 | 必须在商户平台手动绑定 |
| 支付目录 | 无需配置(小程序场景) |
| 用户身份 | 使用openid而非openid_$平台 |
| appid换取 | 需要云开发或登录态 |
| 项目 | 说明 |
|---|---|
| 统一定价 | 15积分/次 |
| 包含能力 | 选型咨询、代码示例、业务知识、问题排查、接入检查 |
| 支付方式 | 支持JSAPI、小程序、Native、APP、H5、付款码 |
| 代码语言 | Python、Node.js优先,Java/Go可选 |
遇到以下问题时直接调用本技能
上线前必查!小程序支付踩坑汇总见 → 常见踩坑速查表.md