我们在做一个用户自己带货,自己可以自动提成到账的功能。这样就可以帮助更多人挣钱。
需要开发一个微信商家企业号转账到个人零钱的功能。
流程还很复杂,每一步没搞好都走不通。
一、基础准备
先开通这个产品功能叫商家转账

然后是,这一步非常重要:
从我的产品里面点击前往功能:

设置接口IP。
第二步:接口报文封装。

官方给了一个接口报文格式。里面有几个点需要特别注意:
1、appid和openid是一一对应的。也就是,每个小程序APPid下的微信个人号的openID是独一的,换一个小程序的appid,相同的微信个人号,对应的openid不同。
2、场景ID 即 transfer_scene_id 是你开通的运营产品的ID。你可以去查看好,要对应上。写错了都错了。就第一步开通的商家转账时有一个场景ID的。
3、user_recv_perception 是规定好的。按文档里规定的来。

4、transfer_scene_report_infos也是按规定的来。

这里要特别强调一下,例如二手回收,他就只有一个值,但佣金报酬,他的list里面就是要两个值的,一个值表示岗位类型,一个值表示报酬说明。
第三步,编码实现:
代码放这里了。
https://github.com/scalaboy/wechatpay_python
在绑定IP的机器上,运行python example.py
在这里:
http://127.0.0.1:5000/transfer
看到报文
{"create_time":"2025-05-14T11:35:14+08:00","out_bill_no":"121312Obfdi","package_info":"B1212121AADJjn90+1qgY/1HrgQE0jW8BWZVDRdo+O50Z0c5zAxtiA=","state":"WAIT_USER_CONFIRM","transfer_bill_no":"133000655991828382106057"}
就成功了。
第四步,报错总结
1、 接口换了,需要用微信的新接口
/v3/fund-app/mch-transfer/transfer-bills

2、传入转账场景报备信息。

主要原因是 transfer_scene_report_infos 的格式不对。
估计是文字没对上,或者 场景信息的条数不对。例如 1005需要两条场景信息。放在一个list里面。
[
{
"info_type" : "岗位类型",
"info_content" : "专家顾问"
},
{
"info_type" : "报酬说明",
"info_content" : "带货提成"
},
]

可以去这里查查
https://wechatpay.im/openapi/v3/fund-app/mch-transfer/transfer-bills
3、open ID跟APP ID不匹配

改openid即可。
运行后,在
浙公网安备 33010602011771号