关于微信第三方网站登录以及支付的二三事
cirzear / / 编程随笔 / 阅读量 459

最近的项目中用到了PC网站微信扫码登录,记录一下,虽然自己没有写核心代码,只是前端调用接口,但是之前不知道这个是后台来处理,所以自己也看了很多前端处理的例子,但是最后以前端不能跨域访问微信api告终,哈哈哈。

主要步骤就三步,一环套一环,首先访问由你的appid,redirecturl等等拼起来的那个网址,直接访问你就会看到一个二维码,当你扫完这个码,他会在地址栏中带着一个code跳转到你设定好的redirecturl网址上,在网址后拼着你的code,这个时候你需要拿到这个code,然后用这个code和appsecret那些去换取accesstoken,最后用这个token换取你的个人信息

具体的网址有时间我整理下发出来,就是用一物换一物,最后拿到你的个人信息,存到数据库即可,这些都是后台的事,我前段访问一个后台提供的接口就完事了,

注意:上面的那个redirecturl你可以在微信公众平台设置,不一定是前台页面,也可以是后台接口地址之类的。最后在后台操作跳转到首页拼上id,在首页拿到id获取用户信息就完事了。

移动端,h5网页就简单了,在微信中打开,后台给一个地址,访问,授权就完了,之后找机会看看后台代码,学习学习

然后是支付的问题,支付的话,微信中网页是需要先登录授权,也是后台提供一个接口,类似index.php?m=api&c=WeChat&a=auth_login这样,代码我没有 ==。 这是在微信中的h5网页中的做法,然后是在小程序中,需要三步,也就是三个接口地址,第一个发起支付,微信返回code,你把这个code发送给后台,后台会给你返回一些数据,拿到这些数据后,就可以调起微信支付,然后这时候掉第二个接口,轮询查询是否支付成功,最长时间不能超过两秒,我这边是1.5s查询一次,然后最后成功之后,后台返回成功信息,前端处理接下来的逻辑就可以了。

我遇到的问题是前面都拿到数据了,但是报错jsAPI缺少totalfee,我上网查了下,说是后台返回的package字段必须以perpare_id:wx****形式返回,然后我一看后台返回的prepare_id之后没有了。最终查看原因,登录微信商户号,发现商户号中没有绑定小程序,真是一顿折腾,哈哈。好在最后实现了

今天先写这么多,有机会补充下

支付宝捐赠
请使用支付宝扫一扫进行捐赠
微信捐赠
请使用微信扫一扫进行赞赏
有 0 篇文章