Skip to content

微信小程序支付接入 ​

这篇解决什么 ​

在应用下打开 wx_lite、填商户参数、在小程序里带 openid 调起支付。读完能对上 WxPayClientConfig,以及为什么 PC 收银台选这个渠道通常调不起来。

默认端口 48080。先完成 支付功能设计。小程序登录、openid 先看 三方登录。

示意图:预下单在服务端。调起支付必须在小程序里,用当前用户的 openid。

从哪配 ​

名称说明仓库路径
模块微信客户端ruoyi-office/yudao-module-pay/
渠道码wx_litePayChannelEnum.WX_LITE
配置和小程序、公众号共用WxPayClientConfig
回调POST /pay/notify/order/{channelId}PayNotifyController
示例单仍可用 demo 应用建单PayDemoOrderServiceImpl
收银台PC 页,小程序场景不够views/pay/cashier/index.vue

WxPayClientConfig 要填:

  • 小程序 appId
  • 商户号 mchId
  • API 版本 v2 或 v3(新商户用 v3)
  • v2:商户密钥 + apiclient_cert.p12 的 Base64
  • v3:apiclient_key、证书序列号、平台证书等

微信其它编码(wx_pub / wx_app / wx_native / wx_wap / wx_bar)共用这份配置类,但调起方式不同。本篇只讲小程序。

openid 和回调 ​

统一下单必须带用户 openid。openid 来自该小程序的微信登录,不是管理端账号。PC 示例单的用户类型是管理员,没有小程序 openid,所以管理端选 wx_lite 会失败或无法调起。联调应走会员端 / UniApp,或自己写一条带 openid 的提交。

渠道通知同样进 yudao.pay.order-notify-url/{channelId}。商户平台把支付、退款回调配成这个公网地址。业务回写仍看应用上的 orderNotifyUrl。

三个 AppId 不要混

小程序 AppId、支付商户绑定的 AppId、开放平台移动应用 AppId 不是同一个。wx_lite 必须填小程序那个。登录用的社交配置也要是同一套,否则 openid 对不上商户。

证书、私钥不要进 Git。本地 application-local.yaml 的通知地址要换成公网。没穿透时先用 模拟支付。

公众号 JSAPI 见 微信公众号支付接入。退款字段和证书要求见 支付宝、微信退款接入。

配置与操作 ​

走 应用信息(1126,/pay/app)开通 wx_lite。填小程序 appId、商户号 mchId、API v2 或 v3(新商户用 v3)和证书。appId 必须是小程序那个,不要填公众号或开放平台移动应用。

调起必须在小程序里,带该小程序登录拿到的 openid。PC 示例单用户是管理员,没有小程序 openid,管理端选 wx_lite 通常调不起来。通知 POST /pay/notify/order/{channelId} 要公网。开启见 支付功能设计。

支付应用

本系统截图:支付管理 → 应用信息。wx_lite 在应用下开渠道,不是单独菜单。

接入示例

本系统截图:支付&退款案例。渠道配好后,真正调起要在小程序里完成。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版