详解微信小程序支付流程与梳理-创新互联
花了几天把小程序的支付模块接口写了一下,可能有着公众号开发的一点经验,没有入太多的坑,在此我想记录一下整个流程。
津市网站建设公司创新互联建站,津市网站设计制作,有大型网站制作公司丰富经验。已为津市千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的津市做网站的公司定做!首先先把小程序微信支付的图搬过来:
相信会来查百度的同学们基本都是对文档的说明不是很理解。我下面大概总结一下整个业务逻辑的过程。
微信小程序的商户系统一般是以接口的形式开发的,小程序通过调用与后端约定好的接口进行参数的传递以及数据的接收。在小程序支付这块,还需要跟微信服务器进行交互。过程大致是这样的:
一.小程序调用登录接口获取code,传递给商户服务器用来获取用户的openID
我们知道在微信平台中,同一个公众号的openID都是不同的,它是用户身份识别的id,也就是说,我们通过openID来区分不同的用户,这个有微信开发基础的应该都很熟悉。为了知道谁在支付,我们需要先获取当前用户的openid,那么openID应该怎么获取呢?看下图:
- 小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
- 开发者服务器以code换取 用户唯一标识openid 和 会话密钥session_key。
看不懂吗?不急,听我慢慢解释,这个业务流程大致就是首先你得先在小程序的代码中调用wx.login()来向微信获取到code,拿到了之后把code通过request传给商户服务器,再由商户服务器通过骚操作来跟微信服务器要session_key和openID。
伪代码如下(小程序端):
getToken: function () { //调用登录接口 wx.login({ success: function (res) { var code = res.code; wx.request({ url: 商户服务器接口地址, data: { code: code }, method: 'POST', success: function (res) { wx.setStorageSync('token', res.data.token); //存在小程序缓存中 }, fail: function (res) { console.log(res.data); } }) } }) }
分享文章:详解微信小程序支付流程与梳理-创新互联
URL分享:http://scyanting.com/article/dssehi.html