微信公众号支付流程

    近日对接微信支付,主要是对接公众号支付,其他的如刷卡支付、H5支付、APP支付不在本次话题内。

    下面先贴下微信内网页支付的流程图:

微信公众号支付流程图

咱们后台要做的,实际下是有以下几个方面:

 1.  商户订单的生成

2. 调用微信的统一下单接口,微信那边生成预支付订单,并返回预支付订单ID即prepay_id,具体详见微信公众号支付开发文档(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1)

3.  根据第三步拿到的预支付预支付订单ID即prepay_id,生成JSAPI页面调用的支付参数并签名,之后返回到前端,用户拉起微信支付控件,并验证授权,具体详见微信公众号支付开发文档(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6)

4.  最后是接收微信成功后的支付回调通知,并告知微信支付结果,如SUCCESS或者FAIL,具体详见微信公众号支付开发文档(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7)

下面说下在开发过程中需要注意地方:

 1. 参数的获取,appId可以直接在微信公众号后台-》基本配置中获取;mch_id和key的获取可以在商户后台-》账户中心-》账户设置-》API安全那里查看;

 2. 需要对商户号绑定的服务号的APPID进行绑定,这点比较重要,如果没有绑定的话,会报appid not match,配置可如下图所示:

APPID的配置

3.  关于支付授权目录的配置,首先是必须是公众号主域名下的,精确到二级或三级目录,如你页面方位的是路径是:http://www.a.com/test/B/c,则配置的授权目录为http://www.a.com/test/B/,并且以'/'为结尾,你页面上访问的路径也是,授权目录最后可配置五个,可在商户后台-》产品中心-》开发设置中设置,如下图所示:

授权目录的配置

   4. 关于页面拉起支付控件的方法有两种,分别列举:

      4.1 一种是基于使用微信内置js对象 WeixinJSBridge发起支付的,方法如下所示:    

使用微信内置js拉起支付

4.2  第二种是引用引入微信jssdk调用里面的内置方法发起支付,需要先引入jssdk文件;文件地址为http://res.wx.qq.com/open/js/jweixin-1.2.0.js,之后需要注入权限认证,认证成功后才可以使用jssdk里的API接口,如下图所示:

引入jssdk拉起支付

你可能感兴趣的:(微信公众号支付流程)