Skip to content

微信转账接入 ​

这篇解决什么 ​

用商家转账把钱打到用户微信。读完能对上示例提现单、渠道码、以及微信必填的场景报备。

默认端口 48080。先完成 支付功能设计。收款人 openid 来自微信登录,见 三方登录。

示意图:业务单先落库。点转账才调 PayTransferApi。微信可能还要用户确认。

从哪改 ​

名称说明仓库路径
模块转账实现ruoyi-office/yudao-module-pay/
示例单表 pay_demo_withdraw,应用 key demoPayDemoWithdrawServiceImpl
接口创建、发起、回写@RequestMapping("/pay/demo-withdraw")
页面提现转账案例views/pay/demo/withdraw/index.vue
转账单pay_transferPayTransferDO
客户端商家转账账单AbstractWxPayClient.doUnifiedTransfer

菜单:接入示例 2161,提现转账案例 2550,路由 /pay/demo/transfer。转账单列表是 2559 /pay/transfer。

示例里类型「微信」会映射成渠道 wx_lite,不是单独的转账编码。应用 demo 要先开通小程序支付渠道,并具备商家转账权限。

userAccount 填收款人 openid,userName 填真实姓名。金额小于 0.3 元时,客户端会丢掉姓名(微信限制)。

微信必须带场景。示例用 PayTransferCreateReqDTO.buildWeiXinChannelExtra1000,场景 1000(现金营销),报备「活动名称 / 奖励说明」。报销场景是 1006。

发起后状态可能是处理中。WAIT_USER_CONFIRM 时会带 packageInfo,要用户在微信里确认收款。同步靠 payTransferSyncJob,业务回写是 POST /pay/demo-withdraw/update-transferred。

模拟渠道不能转账

MockPayClient.doUnifiedTransfer 尚未实现。转账联调必须走微信或支付宝,或先用钱包类型看账本加减。

渠道回调 POST /pay/notify/transfer/{channelId}。yudao.pay.transfer-notify-url 要公网可访问。

配置与操作 ​

走 应用信息(1126,/pay/app)给 demo 开通 wx_lite,并具备商家转账权限。示例类型「微信」映射成渠道 wx_lite,没有单独的转账编码。

保存后走 提现转账案例(2550,/pay/demo/transfer)。userAccount 填收款人 openid,userName 填真实姓名。金额小于 0.3 元时客户端会丢掉姓名。场景示例用 1000(现金营销),报销是 1006。台账在 转账订单(2559,/pay/transfer)。WAIT_USER_CONFIRM 要用户在微信里确认。同步挂 payTransferSyncJob。MockPayClient 不能转账。开启见 支付功能设计。

支付应用

本系统截图:支付管理 → 应用信息。微信转账复用 wx_lite,不是单独菜单。

提现转账案例

本系统截图:接入示例 → 提现转账案例。先建单,再点转账。

相关篇 ​

联系我们

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

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版