事先声明: _________本文 并没有 真正调用微信支付这个接口,如果你想调用微信支付这个接口,那么 无法满足 你的需求,非常抱歉。

由于我注册的小程序也是个体户,所以没有权限使用《微信支付接口》。但为了实现苍穹外卖的完整功能,只能死马当活马医,模拟出用户支付成功的结果。 具体方式是:跳过了调用接口的这个步骤,用户点击《确认支付》会直接支付成功,见效果图: 我就只贴出需要修改的部分,其他代码都是用的黑马的。

小程序里需要修改的代码:

在小程序page/pay/index.js中的238行左右,将支付详情和订单倒计时这两个注释之间的代码换成下面的。

// 支付详情

handleSave: function handleSave() {

var _this = this;

if (this.timeout) {

(0, _api.cancelOrder)(this.orderId).then(function (res) {

});

uni.redirectTo({

url: '/pages/details/index?orderId=' + this.orderId

});

} else {

//如果支付成功进入成功页

clearTimeout(this.times);

var params = {

orderNumber: this.orderDataInfo.orderNumber,

payMethod: this.activeRadio === 0 ? 1 : 2

};

(0, _api.paymentOrder)(params).then(function (res) {

if (res.code === 1) {

console.log("hcs,支付了!")

wx.showModal({

title: '提示',

content: '支付成功',

success: function () {

uni.redirectTo({ url: '/pages/success/index?orderId=' + _this.orderId });

}

})

console.log('支付成功!')

} else {

console.log("hcs,支付失败了!")

wx.showModal({

title: '提示',

content: res.msg

})

}

});

}

},

// 订单倒计时

服务器中需要修改的代码:

只需修改OrderServiceImpl.class中的代码:比对着方法名去改即可。

public OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO) {

OrderPaymentVO vo = new OrderPaymentVO();

vo.setNonceStr("666");

vo.setPaySign("hhh");

vo.setPackageStr("prepay_id=wx");

vo.setSignType("RSA");

vo.setTimeStamp("1670380960");

return vo;

}

另外,除了这个方法,这个类中的订单取消和订单拒绝方法都需要注释掉这部分代码:

String refund = weChatPayUtil.refund(

ordersDB.getNumber(),

ordersDB.getNumber(),

new BigDecimal(0.01),

new BigDecimal(0.01));

完成,是不是也没想象中的那么难。

好文推荐

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。