【黑马苍穹外卖】个人小程序模拟实现微信支付

这篇具有很好参考价值的文章主要介绍了【黑马苍穹外卖】个人小程序模拟实现微信支付。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

到了这里,关于【黑马苍穹外卖】个人小程序模拟实现微信支付的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 黑马项目一阶段面试58题 苍穹外卖具体技术细节9题

    1.反向代理 前端把请求发送给nginx,再由nginx将请求发送给后端服务器。 2.负载均衡 提高访问速度;进行负载均衡;保证后端服务安全 直接调试后端请求响应 String、Hash、List、Set、Zset 1.数据库类型不同 (1)MySQL是关系型数据库; (2)Redis是缓存数据库/非关系型数据库 2.数据

    2024年02月13日
    浏览(44)
  • 基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十二)

    1.1.1 产品原型 用户可以将菜品或者套餐添加到购物车。对于菜品来说,如果设置了口味信息,则需要选择规格后才能加入购物车;对于套餐来说,可以直接点击+将当前套餐加入购物车。在购物车中可以修改菜品和套餐的数量,也可以清空购物车。 效果图: 1.1.2 接口设计 通过

    2024年01月18日
    浏览(42)
  • 基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(九)

    1.1 入门 在进行微信登录之前我们要先知道HttpClient是什么,它是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HttpClient作用: 发送HTTP请求 接收响应数据 HttpClient应用场景

    2024年02月03日
    浏览(48)
  • 基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十三)

    地址簿,指的是消费者用户的地址信息,用户登录成功后可以维护自己的地址信息。同一个用户可以有多个地址信息,但是只能有一个 默认地址 。 对于地址簿管理,有以下几个功能: 查询地址列表 新增地址 修改地址 删除地址 设置默认地址 查询默认地址 根据上述原型图先

    2024年01月21日
    浏览(45)
  • 基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十一)

    1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。 结果 :系统响应慢、用户体验差 1.2 实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: 每个分类下的菜品保存一份缓存数据

    2024年01月24日
    浏览(48)
  • 万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】

            以下给出来四个常见的小程序个人主页,分别是商城系统个人主页,外卖系统个人主页,挂号系统个人主页,电影购票系统个人主页。包括完整的页面布局代码,完整的样式代码。使用的时候,只需要将页面代码和样式代码复制到自己项目对应的页面即可。而且可

    2024年02月11日
    浏览(64)
  • 苍穹外卖day07——缓存菜品套餐+购物车功能实现

    用户访问量过大带来的一个直接效果就是响应速度慢,使用体验下降。 使用redis缓存菜品数据,减少数据库查询操作。  页面展示上基本就是同一个分类在同一页,所以key-value结构可以使用不同的分类来做key。 在小程序每一次点击不同的分类,后端哪里都会刷刷刷的连接数据

    2024年02月14日
    浏览(69)
  • 苍穹外卖集成 Apache POI Java实现Excel文件的读写下载

    Apache POI - the Java API for Microsoft Documents Project News 16 September 2022 - POI 5.2.3 available The Apache POI team is pleased to announce the release of 5.2.3. Several dependencies were updated to their latest versions to pick up security fixes and other improvements. A summary of changes is available in the Release Notes. A full list of changes is a

    2024年02月09日
    浏览(57)
  • 微信小程序餐饮外卖系统设计与实现

    摘 要 随着现在的“互联网+”的不断发展。现在传统的餐饮业也朝着网络化的方向不断的发展。现在线上+线下的方式来实现餐饮的获客渠道增加,可以更好地帮助餐饮企业实现更多、更广的获客需求,实现更好的餐饮销售。截止到2021年末,我国的外卖市场已经突破万亿,高

    2024年02月10日
    浏览(33)
  • 【微信小程序支付功能】uniapp实现微信小程序支付功能

    场景 :要实现公司微信小程序的电商模块微信支付功能 一.实现步骤和思路 在登录状态,登录的时候获取到code,利用code获取到 openid: https://blog.csdn.net/weixin_45308405/article/details/128868377?spm=1001.2014.3001.5501 在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“微信支付

    2024年02月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包