1. 在个人学习的特殊情况的局限下,没有办法实现真正的微信支付功能!
2. 微信小程序代码
① 在项目pay包下的pay.js文件下,将原来的支付详情进行替换。
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 }) } }); } },
3. java需要修改的后台代码
① 在这个API中可以使用反回类型的builder进行属性值的赋值 (这里面展示的是谁便赋的值)
/**
* 订单支付
*
* @param ordersPaymentDTO
* @return
*/
@PutMapping("/payment")
@ApiOperation("订单支付")
public Result<OrderPaymentVO> payment(@RequestBody OrdersPaymentDTO ordersPaymentDTO) throws Exception {
log.info("订单支付:{}", ordersPaymentDTO);
// OrderPaymentVO orderPaymentVO = orderService.payment(ordersPaymentDTO);
OrderPaymentVO orderPaymentVO = OrderPaymentVO.builder()
.nonceStr("1670380960")
.packageStr("prepay_id=wx07104240042328")
.paySign("qwr234e23123")
.signType("RSA")
.timeStamp("4235123123123")
.build();
log.info("生成预支付交易单:{}", orderPaymentVO);
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(URL);
httpClient.execute(httpGet);
orderService.paySuccess(ordersPaymentDTO.getOrderNumber());
return Result.success(orderPaymentVO);
}
② 在项目课程中,PayNotifyController原本是通过微信小程序后端进行请求的,现在通过使用httpClient进行请求。其修改代码如下:
/**
* 支付成功回调
*
* @param request
*/
// @RequestMapping("/paySuccess")
@GetMapping("/paySuccess")
public void paySuccessNotify(HttpServletRequest request, HttpServletResponse response) throws Exception {
//给微信响应
responseToWeixin(response);
}
4.效果展示:
文章来源:https://www.toymoban.com/news/detail-857382.html
这样以后,我们就可以在商户系统看到用户提交过来的支付订单了。文章来源地址https://www.toymoban.com/news/detail-857382.html
到了这里,关于【黑马苍穹外卖】个人小程序模拟实现微信支付的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!