顺晟科技
2021-06-16 10:52:36
175
前言:应项目要求,需要使用微信小程序做支付,写完后告知手续费太高方案不予通过(宝宝心里苦,但宝宝不说)。此次开发在因站在巨人的肩膀上顺利完成。
微信支付文档传送门:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?章节=7_3
1.开发工具:
Eclipse Tomcat微信网开发工具
2.开发环境:
java maven
3.开发前准备:
3.1 所需材料
小程序的appid,APPsecret,支付商户号(mch_id),商户密钥(键),付款用户的openid。
申请接入微信商户地址:https://支付。微信。QQ。com/static/apply ment _ guide/apply ment _ detail _ mini app。死亡
3.2 开发模式
本次开发采用的开发模式是:普通模式,适用于有自己开发团队或外包开发商的直连商户收款。开发者申请自己的应用编号和mch_id,两者需具备绑定关系,以此来使用微信支付提供的开放接口,对用户提供服务。
四开发
wx.request({
url:地址'周五',
数据: {
openId: openId
//金额:金额,
//openId: openId
},
header: {
内容类型' : '应用程序/x-www-form-URL编码'//默认值
},
方法: '开机自检,
成功:功能(res) {
控制台。日志(RES);
那个。DoWxpay(RES . data);
},
fail:函数(错误){
wx.showToast({
图标: '无,
标题: '服务器异常,清稍候再试'
})
},
});
doWxPay(param) {
//小程序发起微信支付
wx.requestPayment({
时间戳:参数。数据。时间戳,//记住,这边的时间戳一定要是字符串类型的,不然会报错
非波峰:参数。数据。非波峰,
package: param.data.package,
签名类型: 'MD5 ',
paySign: param.data.paySign,
成功:函数(事件){
//成功
console.log(事件);
wx.showToast({
标题: '支付成功,
图标: '成功,
工期: 2000
});
},
fail:函数(错误){
//失败
console.log('支付失败)
console.log(错误)
},
complete: function () {
//完成
console.log('支付完成)
}
});
},
4.2 java后台
4 .2 .1 PayUtil.java
私有静态Logger=Logger。getlogger(payutil。类);
公共静态JSONObject wxPay(String openid,HttpServletRequest请求){
JSON对象JSON=new JSON对象();
尝试{
//生成的随机字符串
string nonce _ str=Util。getrandomstringbylength(32);
//商品名称
字符串正文=新的
11
2022-12
28
1990-12
02
2022-09
17
2022-03
18
2021-11
29
2021-08