支付宝服务商开发,相对微信服务商来讲还是有点坑的,可能太久没接触支付宝支付了吧,作为系统服务商首先要解决几个问题。
1.关于服务商的返佣,虽然子商户在服务商下面进件产生,如果不加上额外的参数的话,服务商是收不到返佣的,只需要将可选参数里面的这个参数配置下就好了
这个参数填写服务商的合作伙伴ID,即partnerId( pid ),我对这个参数的理解是(系统服务商的收款ID),不管是普通商户还是系统服务商都只有一个pid。
2.能不能像微信那样只需要传一个子商户ID服务商就能够完成对子商户的收款呢?
开始我也是很纳闷,API文档上面并没有像微信的文档一样让人一看就懂,没办法,先用着子商户自己发起支付的方式吧,接了几个子商户的支付之后觉得确实是挺麻烦的,不说其他的你要接
支付,首先得要引入支付宝SDK吧,异步回调也要接一遍,这实在不是个一劳永逸的办法,开始了好一顿Searching,网上资料提到这个确实是少,毕竟服务商还是少数吧,有些踩过坑的也没有
详细的说明,只提到弄一个app_auth_token参数,我又回去看了下API文档,找到了这个页面
跟着一顿搞,终于拿到了那个app_auth_token,具体步骤如下:https://docs.open.alipay.com/20160728150111277227/intro去服务商的应用里面设置一下授权回调地址(这个地址是可以带url参数的) =>
拼接一个授权链接由子商户登录PC打开完成授权确认 =>自动跳转那个回调地址并带上code,自己完成code换token及freshtoken的操作。token拿到最后就要开始做实验了,由服务商端完成子商户的支付
(所传的key全是服务商的,然后带上子商户对应的authtoken),虽然知道了就是这么回事,但还是弄了半天,支付宝里面下载的demo里面没有关于这部分的操作,所以得扒sdk源码
可以完全确定这个authtoken就是以这种方式传进去的了,开始实验
注意这个seller_id,开始不小心传了服务商的pid,钱到了服务商,然后再传了子商户的pid,结果报了个错
后面找了找文档,发现里面有条潜规则:seller_id优先级>authtoken>appid对应的pid,所以这里应该是不传seller_id,钱到了子商户里面,实验完成。
如遇到其他坑,请留言,看到会回复的