WeChat Pay Integration

微信支付接入助手Python/Node.js专精版。基于微信支付官方Skills改造, 补充官方缺失的Python和Node.js代码示例,专为小程序开发者优化。 支持JSAPI支付、小程序支付、Native支付、APP支付、付款码支付的选型指导、 代码示例(Python/Node.js/Java/Go)、业务知识速查、接入质量评估和问题排查。

Audits

Warn

Install

openclaw skills install wechatpay-skill

微信支付接入助手 🔥 Python/Node.js专精版

基于微信支付官方Skills(MIT协议)改造 官方只有Java/Go示例?我们补全了Python和Node.js! 专为小程序开发者优化,上线前必查!


📢 重要声明

本技能基于微信支付官方 wechatpay-skills(MIT协议)改造,新增:

  • Python代码示例(官方无,我们补)
  • Node.js代码示例(官方无,我们补)
  • 小程序支付场景专精
  • 精简文档快速查阅

⚠️ Python/Node.js示例为参考实现,由AI基于官方Java示例翻译生成,非微信支付官方维护。

  • 逐行review签名构造、HTTP调用、字段命名、回调解密等关键逻辑
  • 上线前必须在测试环境完整验证
  • 出现问题时请以官方Java/Go示例为准

全局交互规范

‼️ 以下规则适用于本技能所有能力、所有对话轮次,优先级高于各能力的局部规则。

1. 所有问题必须得到用户明确回答后才能继续

如果一次提出了多个问题,必须逐一检查每个问题是否都已获得用户的明确答复。对于未回答的问题,必须再次追问,严禁对未回答的问题自行假设、推断或使用默认值

2. 接入模式前置确认

任何能力使用前须先确认商户模式服务商模式,已明确则无需重复。

  • 商户模式:自己申请微信支付,自主开发
  • 服务商模式:帮助他人(子商户)接入微信支付

3. 分步确认协议

简单知识问答除外,需要帮用户排查、分析或执行操作时必须遵守:

步骤操作说明
① 明确需求先理解用户问题,给出初步判断或原因分析不要一上来就堆参数清单
② 征得同意主动提出下一步能做什么,等用户明确同意后才继续严禁用户没表态就开始收集参数或执行操作
③ 收集信息用户同意后再告知需要哪些信息并逐项收集收齐才能执行
④ 执行前确认简要说明即将做什么,确认用户同意后再执行涉及线上环境须额外提示风险

能力概览

能力说明适用场景
🔍 产品选型根据场景推荐支付方式(JSAPI/APP/H5/Native/小程序/付款码)「该用哪种支付?」
💻 代码示例Python/Node.js/Java/Go示例代码(重点是Python/Node.js)「给我JSAPI支付代码」
📚 业务速查订单状态、退款规则、APPID绑定、签名规则「这个参数怎么获取?」
质量评估签名验签、回调处理规范性检查「帮我检查代码隐患」
🔧 问题排查常见错误码、调试方法「支付报错了怎么办?」

能力1:产品选型

用户问「该用哪种支付方式」或比较各方式区别时 → 加载 支付产品对比.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支付
└── 线下扫码枪/收银台 → 付款码支付

关键文档


能力2:代码示例

用户要某个接口的代码示例时 → 确认接入模式和语言,加载对应文件

⚠️ 核心规则

规则说明
只检索、不生成严禁从零编写代码,必须从代码示例文件中检索
只展示、不写入代码仅用于讲解,严禁直接写入用户项目
先交互、后输出提供代码前必须先确认接入模式、开发语言和具体接口
一次只输出一个接口不要一次性输出太多代码

确认顺序

每次提供代码前必须确认:

  1. 接入模式:商户模式 / 服务商模式
  2. 开发语言:Python / Node.js / Java / Go
  3. 具体接口:下单 / 调起支付 / 查单 / 关单 / 退款 / 回调处理 / ...

⚠️ 支付方式仅「下单」和「调起支付」接口需确认,其他接口(查单、退款、回调)各支付方式完全相同。

Python/Node.js优先

我们的差异化优势是Python和Node.js示例,优先推荐Python或Node.js

  • 官方只有Java/Go,我们补全了Python和Node.js
  • 代码完整可运行,包含完整签名逻辑
  • 标注了关键注意事项

接口索引

模式语言索引文件
商户模式Python📄 Python接口索引.md
商户模式Node.js📄 Node.js接口索引.md
服务商模式Python同上结构
服务商模式Node.js同上结构

跨语言处理

用户使用Python/Node.js时:直接输出我们的完整代码示例,无需额外确认。

用户使用Java/Go时:输出官方示例,文件位置在:

示例代码文件

Python代码示例

接口文件路径
JSAPI支付-下单📄 JSAPI支付.md
JSAPI支付-回调处理📄 回调处理.md
小程序支付-下单📄 小程序支付.md
退款📄 退款.md
Native支付-下单📄 Native支付.md
APP支付-下单📄 APP支付.md

Node.js代码示例

接口文件路径
JSAPI支付-下单📄 JSAPI支付.md
JSAPI支付-回调处理📄 回调处理.md
小程序支付-下单📄 小程序支付.md
退款📄 退款.md
Native支付-下单📄 Native支付.md
APP支付-下单📄 APP支付.md

能力3:业务知识速查

用户问参数获取、APPID绑定、订单状态、退款规则等业务知识时

常用知识速查

问题类型关键文档
开发必要参数(mchid、serial_no等)📄 开发必要参数说明.md
V3签名构造规则📄 签名与验签规则.md
订单状态流转📄 订单状态流转.md
回调通知处理📄 回调处理.md
退款规则在代码示例的注释中,通过能力2加载
分账📄 分账接入指南.md

小程序支付专属知识

小程序支付有特殊要求,必须确认

  1. ✅ AppID必须已认证(个人小程序不支持支付)
  2. ✅ mchid和AppID必须已绑定(在商户平台配置)
  3. ✅ 调用支付前必须获取用户openid(通过wx.login获取code,再用code换openid)
  4. ✅ 支付目录必须在AppID下配置(公众平台 → 产品设置 → 支付授权目录)
  5. ✅ appid必须通过云开发换取到手

能力4:接入质量评估

用户准备上线或想检查代码隐患时

⚠️ 只检查用户实际使用的功能模块

未使用的功能不检查、不提及。

必查清单

检查项关键文档
签名验签完整性📄 签名与验签规则.md
回调处理规范性📄 回调处理.md
业务逻辑完整性📄 接入质量检查清单.md
常见踩坑速查📄 常见踩坑速查表.md

上线前必查项

  • V3签名构造正确(SHA256 with RSA)
  • 证书序列号正确
  • 时间戳和随机串格式正确
  • 回调验签通过
  • 幂等处理(重复回调不重复发货)
  • 签名私钥不泄露
  • 测试环境验证通过

能力5:问题排查

用户遇到报错或接口调用异常时

排障流程

用户报错了吗?
├── 有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可选

常见触发词

遇到以下问题时直接调用本技能

  • 「小程序怎么接微信支付?」
  • 「JSAPI支付代码示例」
  • 「微信支付签名怎么生成?」
  • 「支付报错了帮我看看」
  • 「Native支付生成二维码」
  • 「退款接口怎么调用?」
  • 「回调通知怎么处理?」
  • 「V3 API和V2有什么区别?」
  • 「哪个支付方式适合我?」
  • 「帮我检查支付代码」

技术支持

  • 基于:微信支付官方 wechatpay-skills(MIT协议)
  • 改造:补充Python/Node.js代码示例,专精小程序场景
  • 协议:MIT(保留原作者版权声明)

上线前必查!小程序支付踩坑汇总见 → 常见踩坑速查表.md