Agent Skills
返回列表
微信支付安全接入

微信支付安全接入

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3ff3c268/wechat-pay-security。

技能介绍

为什么需要这套规范

微信支付 v3 的接口路径固定,但真正容易出事故的是安全与状态机:前端 wx.requestPayment 成功不等于已收款,回调可能被重放,密钥一旦进 Git 或日志就不可逆。很多项目卡在「paySign 怎么算」「回调怎么验签」「同一笔通知来了两次怎么办」——本技能把这些写成 P0 清单,而不是散落在各篇教程里。

技能能帮你做什么

  • 接入清单:商户号、APIv3 密钥、商户证书、AppID、回调域名等开发前必选项,以及 JSAPI / Native / H5 / 查询 / 关单 / 退款 / 回调各接口的关键注意点。
  • FastAPI 骨架生成:产出 wechat_pay_client.py(统一下单、查询、关单、退款、平台证书拉取与验签、回调 AES-256-GCM 解密、build_jsapi_payment() 直接给出前端所需的 paySign)、router.py(创建订单、带验签与幂等的 notify、退款)、.env.example 与接入说明。
  • 可验证的密码学:脚本带 --self-test,用临时 RSA 与随机 APIv3 密钥跑通签名/验签与回调报文加解密往返,避免盲信生成代码。

边界与注意

生成代码是骨架:订单表与「已处理」标记(幂等落地)需你自行实现;金额必须由服务端计算。apiv3_key 与私钥只放 .env,验签失败不得改订单状态。小程序端只需对 /api/pay/create 返回的 payment 调用 wx.requestPayment;可与小程序安全边界、验收类技能配合使用。

使用场景

  • 小程序要收款,需在服务端调 JSAPI 下单并把含 paySign 的参数交给 wx.requestPayment
  • 支付成功不能只看前端,要写好异步 notify 路径并完成微信签名验签与幂等
  • 用户超时未付或要关单,需按 out_trade_no 调用查询与关单接口做补偿
  • 售后退款需走 domestic/refunds,且密钥与商户证书只配置在服务器环境

适合人员

  • 用 FastAPI 接微信小程序/公众号支付的后端,要一次性搭好客户端、路由与 .env 模板
  • 维护已有收款项目,回调被重复投递导致重复发货,需要落地验签与订单幂等标记
  • 从零接入 Native 扫码或 H5 支付,不熟悉 v3 接口表与平台证书轮换规则的全栈工程师
  • 把「亲子成长记」类文档里的支付章节抽成可复用模块、并想用 --self-test 验证加解密的实施者