fastadmi微信支付 | 服务商分账 | easywechat|踩坑记录
后台用的fastadmin,它自己带了一套easywechat 4.x的扩展,基于这个基础上做的分账。
主要是记录思路和踩坑。
用的不是v3的文档哈,链接在这里
其实我踩的坑大部分是配置问题,什么是主商户,什么是子商户,各种appid,mch_id又是啥啥啥。搞清楚了配置就比较顺当了
用我们项目需求来举例,我们的需求做多商户商城平台,邀请子商户入驻,收取订单服务费;
所以主商户=我们平台=服务商
需要理解的是,主商户是不收钱的,它只是作为一个发起分账的平台
在easywechat里面,主商户的配置如下:
平台子商户=特约商户:
在文档里面的标记是:sub_mch_id(子商户的商户号),sub_appid(子商户绑定的微信公众账号id)
我们按照以下流程来做分账的功能:
1.添加分账方
因为文档没有给查询分账方list的接口,我选择在添加成功后直接写到数据库里面
添加分账方的参数如下:
这里的坑点是文档中对sub_appid参数的必填属性设置为否,其实是误导理解的,当分账方的类型为子商户的appid得到的openid的时候,是需要传这个参数的。
所以如果你的请求返回异常的话,先检查那四个参数(主商户和子商户分别的appid和商户号)是否正确传入
其他的文档就写得比较清楚了。
但是有一点坑的是:只要你参数传正确了,重复添加分账方它也会返回success,删除一个不存在的分账方,它也会返回success
2.请求单次分账
踩过了第一步的坑之后,这里已经进入正常状态了,坑点是如果分账方数据有不合规范的话,请求结果会告诉你:分账接收方类型不合法,但是其实我是amount的参数没有传分,传了带小数点的元。
未完待续