找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 小程序开发 查看内容

小程序支付详解+源码(客户端+服务端)

作者:模板之家 2017-12-19 10:17 112人关注

今天刚将小程序的支付调通,和大家分享下(坑) 源码下载:https://pan.baidu.com/s/1skQiXPz 包括小程序端、java服务器端 和其他方式的微信支付方式区别不大,也都需要经过统一下单、支付结

feature.jpg

今天刚将小程序的支付调通,和大家分享下(坑)

 

源码下载: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)