Skip to main content
用 自有微信支付商户号 收款时,按本页准备商户、凭证和后端密钥。superun 会按你选的产品生成下单与回调逻辑。 不想自己申请商户号、只做境内微信 / 支付宝收款时,用平台托管的 superun 支付,不必填本页这些密钥。
商户号注册、产品开通和凭证都在微信侧完成。密钥只写进 后端密钥管理(Edge Function Secrets),不要发到聊天、前端或 Git。项目里生成的变量名可能与下表略有不同,以对话里给出的 Secrets 为准。

先选支付产品

三种产品接口不同,不要混用。小程序里不要当 H5 去开域名,也不要在 WebView 里直接调 wx.requestPayment。 建议:先用免费 咨询 说清「手机 H5 / 小程序 JSAPI / 电脑扫码」,再执行接入,避免开错产品返工。

一、注册商户号

  1. 打开 pay.weixin.qq.com
  2. 点击右上角「成为商家」
  3. 选择企业或个体户,按指引上传营业执照、法人身份证、结算账户和联系人
  4. 提交后等待审核(通常 1–3 个工作日)
  5. 审核通过后,登录即可看到 商户号(10 位数字)

二、获取支付凭证

2.1 商户号

账户中心 → 商户信息 → 微信支付商户号。

2.2 关联 AppID

产品中心 → AppID 账号管理 → 关联 AppID,并到对应后台确认授权。
  • JSAPI:必须关联 小程序 AppID,且与小程序登录用的 AppID 一致。
  • H5:关联公众号或已开通 H5 的应用 AppID,以商户平台要求为准。

2.3 设置 APIv3 密钥

账户中心 → API 安全 → APIv3 密钥。设一个 正好 32 个字符 的字符串(按 UTF-8 计为 32 字节),确认后立刻保存,关闭页面后无法再查看。

2.4 申请并下载商户 API 证书

账户中心 → API 安全 → 商户 API 证书 → 申请并下载 cert.zip。解压后主要用:
用文本编辑器打开 apiclient_key.pem,整份复制(必须包含 BEGIN / END 两行和换行)。

2.5 证书序列号

在 API 安全的证书列表里复制「证书序列号」;或:
复制 serial= 后面的值。序列号必须与这份私钥匹配,否则请求会报 SIGN_ERROR。

2.6 微信支付平台公钥

API v3 校验微信的响应和支付回调时,还需要 平台公钥 和 公钥 ID(不是商户自己的 apiclient_cert.pem)。
  1. 账户中心 → API 安全,找到微信支付公钥 / 平台证书相关入口(以商户平台当前名称为准)
  2. 下载或复制平台公钥 PEM,以及对应的公钥 ID
  3. 公钥同样保留完整头尾和换行

三、按场景开通产品

只开通你实际会用的产品。当前是小程序 JSAPI,就不必为了「文档写了 H5」去开 H5。

3.1 H5 支付(手机浏览器)

产品中心 → H5 支付 → 申请开通,填写支付域名、网站名称和 ICP 备案号。域名必须与线上一致。

3.2 JSAPI 支付(小程序)

产品中心申请 JSAPI 支付,并确认小程序 AppID 已与商户号双向绑定。顾客在小程序内付款走 /v3/pay/transactions/jsapi,由原生页调用 wx.requestPayment。
不要在 H5 / WebView 里直接调 wx.requestPayment。openid 只能服务端用 jscode2session 换取,AppSecret 不得下发前端。

3.3 Native 支付(电脑扫码)

产品中心开通 Native 支付(或商户平台上的扫码支付)。只开了 H5 时,电脑浏览器往往拉不起支付。

四、配置到 superun

在 后端密钥管理(Edge Function Secrets) 中配置,以产品内入口为准。不要用前端环境变量。
切勿在聊天里粘贴私钥、APIv3 密钥、平台公钥或小程序 AppSecret。更新 Secrets 后重新部署相关 Edge Function,不能只看控制台保存成功。

五、支付怎么走

无论哪种产品,前端支付成功、页面跳回都不算已支付。只认服务端:验签后的异步回调,或主动查单。同一笔订单可能收到多次通知,写入必须幂等,避免重复确认、重复发货或重复扣款。

5.1 H5

  1. 前端请后端创建订单
  2. 后端调用 H5 下单接口,拿到 h5_url
  3. 顾客跳转完成支付
  4. 微信回调 / 后端查单后,把订单标为已支付

5.2 JSAPI(小程序)

wx.requestPayment 的 success 只表示收银台走完,不要据此改订单状态。

5.3 对 AI 说的示例

配置好密钥后,在对话里写清产品和场景,例如:
  • 「网站在手机浏览器里用微信 H5 支付」
  • 「小程序里用 JSAPI,wx.login 换 openid,原生页 wx.requestPayment」
  • 「电脑端用 Native 扫码支付」

六、支付后解锁内容

  1. 顾客完成支付
  2. 微信向 notify_url 发结果;后端验签、核商户号 / 订单号 / 金额(整数分)后标记已支付
  3. 前端轮询或推送订单状态,已支付 才展示付费内容或开始后续任务

七、常见错误

商户证书序列号与私钥不匹配,或平台公钥 / 公钥 ID 不是当前生效的那一套。到 API 安全页核对后更新 Secrets 并重新部署。
按实际场景开通 H5、JSAPI 或 Native,不要用另一种产品的接口去补。
H5 场景:商户平台登记的支付域名与线上不一致。JSAPI 场景:检查 AppID 绑定,而不是去改 H5 域名。
支付 AppID、小程序登录 AppID、商户平台绑定的 AppID 必须是同一个;JSAPI 产品已开通;openid 在服务端换取。
商户号未开通 Native。开通后再说明需要 PC 扫码,让 AI 改接入方式。
客户端 success 不可靠。查 Edge Function 日志、商户平台交易单,以及回调是否验签成功、金额是否一致。
调试时看浏览器网络请求、superun 云计算 日志,以及商户平台交易记录。真实收款前先用小额订单走通「下单 → 支付 → 回调 / 查单 → 只确认一次」。

superun 支付(托管)

不想自己对接商户号时,用平台托管的微信 / 支付宝收款。