当前位置:   article > 正文

苍穹外卖解决无法微信支付问题(超简单!)

苍穹外卖解决无法微信支付问题(超简单!)

关注微信公众号:怒码少年,回复关键词【电子书】可以免费获取计算机相关电子书

问题描述

苍穹项目day08中使用的微信小程序使用用户主体是无法开启微信支付功能的,但是又不想项目烂尾,这里可以帮你解决!!

解决办法

使用代码模拟,直接修改数据库中表的数据。具体步骤如下:

  1. 后端在/OrderController.java中注释掉原来的订单支付的/payment控制方法,改成:
@PutMapping("/payment")
@ApiOperation("订单支付")
public Result<String> payment(@RequestBody OrdersPaymentDTO ordersPaymentDTO) throws Exception {
    log.info("订单支付:{}", ordersPaymentDTO);
    orderService.paySuccess(ordersPaymentDTO.getOrderNumber()); 
    return  Result.success();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

paySuccess方法用于微信后台检查成功,前端用户确认支付之后修改数据库的数据(例如把订单状态改为待接单,把支付状态设置为已支付,设置好结账时间),这里我们不请求微信后台了,直接修改数据。

  1. 前端在pages\pay\index.js中搜索wx.requestPayment,把这个方法注释起来(大概在225行左右)。再把下方的uni.redirectTo({url: '/pages/success/index?orderId=' + _this.orderId });这行代码开启(没有的话自己加上去)。

修改后的前端这部分代码是

if (res.code === 1) {
//这个方法全部注释掉
  // wx.requestPayment({
  //   nonceStr: res.data.nonceStr,
  //   package: res.data.packageStr,
  //   paySign: res.data.paySign,
  //   timeStamp: res.data.timeStamp,
  //   signType: res.data.signType,
  //   success:function(res){
  //     wx.showModal({
  //       title: '提示',
  //       content: '支付成功',
  //       success:function(){
  //         uni.redirectTo({url: '/pages/success/index?orderId=' + _this.orderId });
  //       }
  //     })
  //     console.log('支付成功!')
  //   }
  // })
    
//这行代码一定要有!!直接重定向,不使用微信支付
  uni.redirectTo({url: '/pages/success/index?orderId=' + _this.orderId });
    
} else {
  wx.showModal({
    title: '提示',
    content: res.msg
  })
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  1. 觉得有用的话可以可以帮忙点个赞吧,谢谢大家!!有问题请私信博主,欢迎大家和我讨论项目

联系作者

csdn不怎么看,大家还有什么问题的可以私信微信公众号:怒码少年。我们后台联系,尽我所能!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/258471
推荐阅读
相关标签