坑主要微信的配置部分,在这里整理一下。
首先我要做的是网站的扫码支付,用的php的laravel框架,第三方包用的laravel-pay
首先我预想的方式,在开放平台上申请网站应用,然后在支付平台上绑定该应用,然后就可以进行支付,
按照这个路子我顺利的在开放平台上创建了应用并过了审核,但是在支付平台绑定的时候提示:该类型的商户号暂不支持关联该类型的APPID,然后开始跟客服电话得知了第一个坑点
我用的是服务商号,而非商户号
跟客服的对话了解到这两个的区别,服务商号类似商户号的上级,没有收款功能,是靠当前所有的商户号的抽成来赚钱,我想在网站上收款,应该用商户号。然后就跑去申请,这里提供下需要的材料包括:营业执照电子版,注册号,法人身份证正反面照片,开户银行支行账号,商户简称,客服电话,法人意愿视频。然后有了商户号我绑定还是那个错误。然后第二点信息
主体信息一致
这个是开放平台认证的主体必须和商户号的主体一致,如不一致需要在开放平台申请关联主体,这一步搞定之后绑定还是这个错误,于是第三点信息
开发者资质
在开放平台有一个开发者资质认证,这个我的账号显示的是18年的认证,之前是一年一交,后来确认是从18年起只用缴纳一次即可,差点多赔了300块钱。这样确定我有了开发者资质,然后第四点
网站应用没有支付接口信息
我仔细观察了申请成功的网站应用,接口信息里面只有登录,感觉恍然大悟,我的路从一开始就走错了,支付依赖的主体根本不是网站,也就是说微信根本没有支付平台绑定网站的这个功能,然后好好看了遍如何接入native支付才找到答案
微信公众平台
native支付的主体是可以依赖于服务号,于是在公众平台用服务号开通资格,也就是在支付平台绑定服务号,这里终于是拿到了支付key,这里要记得配置微信白名单
现在总结一下native支付需要的资料
appid:服务号的appid,从开放平台可以拿到
key:支付密钥,从公众平台拿到
mch_id:商户号,从支付平台拿到
notify_url:支付成功回调地址,在支付平台配置
资料拿全了就开始开发了,下面就是laravel-pay的使用了
调用支付接口的时候会报超时和证书验证不通过,这里是把mode去掉好使,但有的时候还是会超时,这里也是个坑有待解决,总之微信这个配置真的一言难尽,以后得先月读好文档再干活了。