小程序支付java_java微信小程序支付

本文介绍了如何使用weixin-java-tool工具包来实现微信小程序支付。首先推荐了该开源工具,然后详细讲解了从下载源码、配置项目到编写测试接口的步骤,包括在后端创建订单及前端调用微信支付接口的代码示例。
摘要由CSDN通过智能技术生成

刚做小程序支付,网上找了博客来看,看了很多方式实现,但多数都是上传文件估计有残缺或获取其他总是测试出问题,无奈自己研究整理一下我的小程序支付测式,话不多说,开干

首先给大家推荐一个weixin-java-tool这个开源工具包,里面封装了很多东西,用起来很方便,有空的小伙伴可以多研究研究这个

37ec87194226edc879418e3ce08343a9.png

点击demo项目到

a91249fa5e413b8255c2b4994106a183.png

找到自己需要的demo,我这里找的是微信支付,所以继续微信支付 点击微信支付的github

78a73974996e493566d2a5e7139f8d1d.png

之后下载源码,导入开发工具eclipse中

01c67f2d5f26b837a418c1c2de6d5308.png

把demo项目启动,项目启动后发现项目中有swagger继承的api可以通过路径:   localhost:8080/swagger-ui.html 查看接口文档,这里可以找到自己的所要找的接口,我这里找到的是微信支付,其他的有时间的可以去多研究研究

47a7c9865e2b616d542b0d3912124211.png

这些就需要自己多花时间研究了,下面就来上重点了,继承到自己项目中

1.在pom文件中加入maven依赖 

版本跟自己下载的demo项目中的一致就行(我这里是3.9.0)

com.github.binarywang

weixin-java-pay

${weixin-java-pay.version}

2.把相关文件赋值到自己项目中

67c2b3b548f09e54efea4464af643a29.png

2f6252dcb5e4221d7f965ac288edd09f.png

3.application.yml文件中添加配置

0b63e75cb3aa232ccd40ea87c31537b4.png

配置到此结束,下面上代码了

4.新建控制层测试接口

b5aad77336fd798edd3a2cf4c239a604.png

e06846b5b78384bdfc9aaa4944ab1d52.png

接口测试代码(只用写这么多,其他的都是已经封装好的直接调用就行)

@GetMapping("/createOrder")public T createOrder(HttpServletRequest req) throwsWxPayException {

JSONObject obj= newJSONObject(ServletUtil.getParamMap(req));

JSONObject item=itemVkMapper.getItemInfo(obj);

WxPayUnifiedOrderRequest WxPay= newWxPayUnifiedOrderRequest();

WxPay.setBody("项目编号:" + item.getStr("itemid") + " 项目金额:" + item.getStr("money") + " 项目类型:" + item.getStr("zab_do"));

WxPay.setOutTradeNo(IdUtil.simpleUUID());

WxPay.setTotalFee(1);

WxPay.setSpbillCreateIp("127.0.0.1");

WxPay.setNotifyUrl(Variables.NOTIFY_URL);

WxPay.setTradeType(Variables.TRADETYPE);

WxPay.setOpenid(obj.getStr("openid"));//WxPayUnifiedOrderResult res = this.wxService.unifiedOrder(WxPay);

return this.wxService.createOrder(WxPay);

}

后端测试代码到这里就结束了,来微信小程序前端对接接口

toPay: function(event) {var that = thiswx.request({//url: wx.getStorageSync('domainName') + '/api/itempay.ashx', //仅为示例,并非真实的接口地址

url: wx.getStorageSync('basePath') + '/pay/createOrder',

method:'get',

data: {

itemid: event.target.dataset.itemid,

userid: wx.getStorageSync('userId'),

type:'mp',

openid: wx.getStorageSync('openid')

},

header: {'content-type': 'application/json' //默认值

},

success:function(res) {//debugger;

var param =res.data;

wx.requestPayment(

{'timeStamp': param.timeStamp,'nonceStr': param.nonceStr,'package': param.packageValue,'signType': 'MD5','paySign': param.paySign,'success':function(result){

console.log(result);

},'fail':function(result){

console.log(result);

},'complete':function(result){

console.log(result);

}

})

}

})

},

操作到此结束,现在开始测试

ff52425dd3617ab64fb0e6aff4e030fd.png

项目启动准备测试  在微信开发工具中显示

转为真机调试测试结果为

2718cb1ae05f0bcc30af034f3e9d35de.png

ok了,其他的就自己测试测试了,言尽于此希望了能帮助到小伙伴们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值