1、H5微信支付
1.1、配置
作用:在H5支付完成后有权限跳转到这个前端域名下,一般该域名下页面为支付完成状态页面
步骤:在微信支付商户平台中,产品中心-》开发配置-》H5支付中,配置域名
1.2、使用特点
H5微信支付,主要是用户在微信app外的浏览器中,使用到微信支付,如在微信app外的浏览器中购买定下下订单,选择微信支付,会调起微信app,然后进入到微信app支付页面,进行支付
1.3、支付结束后的处理形式
用户在支付完成后,点击完成,进入到支付结果页面,这个页面会展示用户支付状态等信息,(这个支付结果页,即为1.1配置的域名下的页面,只有该域名在1.1下配置,微信才会有权限跳转到该域名下)
2、微信PC支付(扫一扫)
1.1、配置
无
1.2、使用特点
微信PC支付,主要是用户可以扫描商户展示在各种场景的二维码进行支付。扫完支付后,二维码页面会跳转到支付完成页面或者其他相关页面
1.3、支付结束后的处理形式
用户扫完二维码,支付完成后,二维码页面会跳转支付完成相关页面
3、微信公众号支付(JSAPI)
1.1、配置
步骤:在微信公众平台中,开发-》接口权限-》网页授权-》公众号设置-》功能设置-》网页授权,配置域名
作用:在用户同意微信授权后,微信可以回跳到这个域名下的方法中,
该配置主要为了获取code,配置的域名一般为前端域名,即在后端代码中,发现没有code,后端访问微信接口/connect/oauth2/authorize,这个接口后带着参数redirect_uri,redirect_uri即为上面配置的域名加地址,成功访问微信接口
/connect/oauth2/authorize后,微信会自动带着code跳到redirect_uri这个接口下,至此获得code
1.2、使用特定
在H5商城网站中,用户在微信内打开网页时,可以调用微信支付完成下单购买的流程。
1.3、支付结束后的处理形式
用户点击支付,弹出支付框,支付完成后,支付款消失,停留在当前页面或者跳转到支付结果页面
4、代码相关
微信支付,逻辑流程主要为,
1.先调用微信支付中的"统一下单" 接口,调用成功后,微信会回调用异步通知接口,在异步通知接口中,带着传来的商户订单号,去掉微信的“查询订单”接口,查询订单接口会返回此次支付是否成功等信息
其中jsapi接口中,多了一个获取openid的步骤,openid先要获得code
获取code:"https://open.weixin.qq.com/connect/oauth2/authorize" # jsapi获取code的请求地址,参数redirect_uri为微信授权成功后,即掉connect/oauth2/authorize这个接口成功后,微信会带着code回调redirect_uri接口
通过code获取openid:"https://api.weixin.qq.com/sns/oauth2/access_token" # 通过code获取openid的地址