微信授权及微信支付(注:微信支付有多种这里只讲其一种)

  微信授权分两种:一、手动授权(snsapi_userinfo) 二、自动授权(snsapi_base)

  手动授权顾名思义就是需要我们手动的去授权如图:

默认授权就是默认就授权完了,比如你关注一个公众号点进去关注后做一些操作他不会提示如上图所展示的让你确认登录,因为其以自动为你注册完了。

微信授权可以分成以下几步来做:

1、引导用户进入授权页面同意授权,获取code 

2、通过code换取网页授权access_token(与基础支持中的access_token不同) 

3、如果需要,开发者可以刷新网页授权access_token,避免过期 

4、通过网页授权access_tokenopenid获取用户基本信息(支持UnionID机制) 

第一步获取code

 

第二步获取token

第三步(可以不用看需求)

第四步获取用户信息

我之前做的比较简单接收前台传给我的token获取code,通过code获取到openid,然后通过openid再获取用户信息,同时将用户的openid保存下来,以便用户下次登录方便,为什么这么说呢!因为用户每次进来我们都去请求微信的话很耗资源,我们只需要将用户的openid保存下来,以后登录的时候只需要对比我们数据库里面的信息就可以了。

 

微信支付我们这里讲两种实现方式,一种是在页面实现一种是在后台实现,

其实微信支付的话人微信都把接口什么的都准备好了只需要调用就可以了而且还准备了demo当然他们的demo很烂,其实微信支付和微信授权差不多都是拼链接调用把微信要的参数传过去,做好回调就可以了,

1.微信统一下单

URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder

weixinGatewayUrl=https://api.mch.weixin.qq.com/pay/unifiedorder

参数详见微信统一下单文档

再页面操作的话就在页面拼好链接后将微信需要的参数sppid,商户号等等必须的参数传过去这些参数是你微信提供给你的,appid是在你的微信公众号里面,商户号什么的是你申请微信支付后微信提供给你的,这些参数是固定的,在页面操作写一个回调页面接收微信返回来的数就可以了,后台操作的话方便起见我们将参数变成实体或常量方便调用,在后台拼链接通过HttpResponse response = HttpRequest.get() 这种方式就可以请求了,当然这只是其中一种,还有很多不用非用这种仅做参考而已。将返回的参数做好保存及返回给前台页面。

微信支付(app支付、公众号支付、扫描支付、企业支付,刷卡支付)好几种,我这里讲的不是很详细,但是大概概括了,主要是网上的太啰嗦的,就那么一点东西将那么多!

 

posted @ 2017-06-26 09:53  燕翎空  阅读(2266)  评论(1编辑  收藏  举报