南京小程序开发安优网络在最近做了一款简单的电商小程序,目前还没上线,不过支付功能已开发完,所以整理和大家分享下,有什么不对的地方,还请大家提出来,你的纠正是我最大的进步。
南京小程序开发说说内容前提:建议请认真看一遍官方支付文档(建议大家直接百度搜索一下微信官方支付文档就行了)
先来一张图
大体流程分析:
1.小程序:点击支付按钮,请求后台接口,返回5个必要参数(用于之后调wx.requestPayment(OBJECT))。
2.JAVA: 调用统一下单接口,生成微信预支付订单,并返回结果。
3.小程序:接收到5个参数后,调用wx.requestPayment(OBJECT),此时小程序唤起了输入密码的支付弹窗,我们可以选择关闭弹窗和支付,然后根据情况跳转到不同页面。
4.JAVA: 当在小程序内支付完后,此时微信服务器会有规律性给你的支付回调地址发起请求,通知你支付结果。
那么接下来我们详细看一下代码
小程序端代码
//点击支付按钮
async pay() {
if(!this.address){
wx.showToast({
title: "请选择收货地址", //提示的内容,
icon: "none", //图标,
duration: 1500, //延迟时间,
mask: false, //显示透明蒙层,防止触摸穿透,
});
}
if(this.listData.length == 0){
wx.showToast({
title: "未选择任何商品,请重新选择商品", //提示的内容,
icon: "none", //图标,
duration: 1500, //延迟时间,
mask: false, //显示透明蒙层,防止触摸穿透,
});
}
if(this.allprice <= 0){
wx.showToast({
title: "付款金额小于或等于0元,请重新选择商品进行支付", //提示的内容,
icon: "none", //图标,
duration: 1500, //延迟时间,
mask: false, //显示透明蒙层,防止触摸穿透,
});
}
const data = await post("/api/pay/onPay", {
openId: this.openId,
body:this.listData[0].goods_name,
address: JSON.stringify(this.address),
allPrice: this.allprice,
listData: JSON.stringify(this.listData)
});
if(data){
if(data.model.orderId != 0){
this.payMent = data.model;
console.log(data);
//返回成功,小程序端可直接唤起输入密码弹窗
this.doWxPay(data.model);
}else{
wx.showToast({
title: "系统订单生成异常,请稍后重试或联系管理员", //提示的内容,
icon: "none", //图标,
duration: 1500, //延迟时间,
mask: false, //显示透明蒙层,防止触摸穿透,
});
}
}
},
//唤起输入密码弹窗
doWxPay: function(param){
var that = this;
//小程序发起微信支付
console.log("发起支付")
wx.requestPayment({
timeStamp: param.timeStamp,
nonceStr: param.nonceStr,
package: param.package,
signType: 'MD5',
paySign: param.paySign,
success: function (event) {
// success
console.log(event);
wx.showToast({
title: '支付成功',
icon: 'success',
duration: 2000
});
wx.redirectTo({
url: '/pages/orderdetail/main?orderId=' + that.payMent.orderId
})
},
fail: function (error) {
// fail
console.log("支付失败")
console.log(error)
wx.redirectTo({
url: '/pages/orderdetail/main?orderId=' + that.payMent.orderId
});
},
complete: function () {
// complete
console.log("pay complete")
}
});
},
以上就是今天
南京小程序开发安优网络带来的小程序支付(小程序端+JAVA后端),希望能够在你们后期小程序开发过程中起到一点点帮助。
本文地址:
http://www.njanyou.cn/web/2615.html
Tag:
专业服务:
南京网站制作,
南京网站制作公司,
南京网站建设公司
联系电话:025-65016872
上一篇:
网站开发项目管理技巧
下一篇:
使用不准备购买的潜在客户可以做的3件事