今天刚将小程序的支付调通,和大家分享下(坑) 源码下载:https://pan.baidu.com/s/1skQiXPz 包括小程序端、java服务器端 和其他方式的微信支付方式区别不大,也都需要经过统一下单、支付结
今天刚将小程序的支付调通,和大家分享下(坑)
源码下载:https://pan.baidu.com/s/1skQiXPz 包括小程序端、java服务器端
和其他方式的微信支付方式区别不大,也都需要经过统一下单、支付结果通知(回调),具体流程如下: 1、小程序内调用登录接口,获取到用户的openid,api参见公共api【小程序登录API】 2、商户server调用支付统一下单,api参见公共api【统一下单API】 3、商户server调用再次签名,api参见公共api【再次签名】 4、商户server接收支付通知,api参见公共api【支付结果通知API】 5、商户server查询支付结果,api参见公共api【查询订单API】
下面结合源码详解下流程: 第一步: 获取客户的openid 统一下单中需要用到openid 小程序: 首先需要调用微信登录接口获取用户的code: 1. var that = this ; 2. wx.login({ 3. success: function(res) { 4. that.getOpenId(res.code); 5. } 6. });
通过code获取openid: 01. //获取openid 02. getOpenId: function(code){ 03. var that = this ; 04. wx.request({ 05. url: 'https://www.see-source.com/weixinpay/GetOpenId' , 06. method: 'POST' , 07. header: { 08. 'content-type' : 'application/x-www-form-urlencoded' 09. }, 10. data: { 'code' :code}, 11. success: function(res) { 12. var openId = res.data.openid; 13. that.xiadan(openId); 14. } 15. }) 16. } java: 1. String code = request.getParameter( "code" ); 2. HttpGet httpGet = new HttpGet( "https://api.weixin.qq.com/sns/jscode2session?appid=" +Configure.getAppID()+ "&secret=" +Configure.getSecret()+ "&js_code=" +code+ "&grant_type=authorization_code" ); 3. //设置请求器的配置 4. HttpClient httpClient = HttpClients.createDefault(); 5. HttpResponse res = httpClient.execute(httpGet); 6. HttpEntity entity = res.getEntity(); 7. String result = EntityUtils.toString(entity,
邀请
原作者: 模板之家
来自: 网络收集
全部回复(0) 微信:xu08290201 QQ:75283535
返回顶部 |