一、前端 ,需要新增 requestMerchantTransfer JS接口列表申明。

二、业务流程变化
旧版本的业务流程:用户申请提现---后台审核---后台转账----管理员同意----用户收到款项
新版本的业务流程:用户申请提现---后台审核---用户发起收款----用户收到款项
相关文档:腾讯官网 https://pay.weixin.qq.com/doc/v3/merchant/4012711988

三、前端要新增按钮(方法) 让用户点击发起收款
示例代码:

用户端(申请转款)示例:

四、后端新增方法:applyTransfer(命名自定义)

五、重构 一个新的 transferV3 方法,弃用原有的 转账方法

传参注意细节,官方文档:https://pay.weixin.qq.com/doc/v3/merchant/4012716434
六、新建一个 php 文件 接收回调参数 transfer_notify.php
代码很简单
接收 input 参数,返回和传递即可
七、用户端需要写一个新的方法
其实,这个应该写在第六步,用户提交后,有一个返回数据,如果返回数据符合要求,应该进一步唤起【用户确认收款】
官方文档【JSAPI调起用户确认收款】https://pay.weixin.qq.com/doc/v3/merchant/4012716430

这里面,需要注意两点细节
- 接收到返回成功后,要改变提现订单的状态
- 返回的数据是加密数据,需要解密(AesGcm::decrypt)
基本工作,其实已经完成
八、细节注意
- 微信商户号里面,产品中心---商家转账,设置 IP 白名单,如果你的服务器支持IPV6,必须 同时 填写 IPV6地址和 IPV4
- 产品中心---商家转账,设置 一个场景,如果没有就新增
- Post传参的时候,user_recv_perception 参数一定不要乱填,参考 官方文档
- 要想转账成功,微信商户号【运营账户】里面必须有钱
- 转账场景严格遵循:https://pay.weixin.qq.com/doc/v3/merchant/4013774590
- 参数 transfer_scene_report_infos 里面,必须传入 两个参数,必须

文章评论