• java微信小程序支付


    刚做小程序支付,网上找了博客来看,看了很多方式实现,但多数都是上传文件估计有残缺或获取其他总是测试出问题,无奈自己研究整理一下我的小程序支付测式,话不多说,开干

    首先给大家推荐一个weixin-java-tool这个开源工具包,里面封装了很多东西,用起来很方便,有空的小伙伴可以多研究研究这个

    这是码云地址:https://gitee.com/itwu/weixin-java-tools

    点击demo项目到

     找到自己需要的demo,我这里找的是微信支付,所以继续微信支付 点击微信支付的github

     之后下载源码,导入开发工具eclipse中

    把demo项目启动,项目启动后发现项目中有swagger继承的api可以通过路径:   localhost:8080/swagger-ui.html 查看接口文档,这里可以找到自己的所要找的接口,我这里找到的是微信支付,其他的有时间的可以去多研究研究

     这些就需要自己多花时间研究了,下面就来上重点了,继承到自己项目中

    1.在pom文件中加入maven依赖 <!--微信开源封装sdk-->

    版本跟自己下载的demo项目中的一致就行(我这里是<weixin-java-pay.version>3.9.0</weixin-java-pay.version>)

    <dependency>
      <groupId>com.github.binarywang</groupId>
      <artifactId>weixin-java-pay</artifactId>
      <version>${weixin-java-pay.version}</version>
    </dependency>

    2.把相关文件赋值到自己项目中

     3.application.yml文件中添加配置

     配置到此结束,下面上代码了

    4.新建控制层测试接口

     

    接口测试代码(只用写这么多,其他的都是已经封装好的直接调用就行)

    @GetMapping("/createOrder")
    public <T> T createOrder(HttpServletRequest req) throws WxPayException {
    JSONObject obj = new JSONObject(ServletUtil.getParamMap(req));
    JSONObject item = itemVkMapper.getItemInfo(obj);
    WxPayUnifiedOrderRequest WxPay = new WxPayUnifiedOrderRequest();
    WxPay.setBody(
    "项目编号:" + item.getStr("itemid") + " 项目金额:" + item.getStr("money") + " 项目类型:" + item.getStr("zab_do"));
    WxPay.setOutTradeNo(IdUtil.simpleUUID());
    WxPay.setTotalFee(1);
    WxPay.setSpbillCreateIp("127.0.0.1");
    WxPay.setNotifyUrl(Variables.NOTIFY_URL);
    WxPay.setTradeType(Variables.TRADETYPE);
    WxPay.setOpenid(obj.getStr("openid"));
    //    WxPayUnifiedOrderResult res = this.wxService.unifiedOrder(WxPay);
    return this.wxService.createOrder(WxPay);
    }

     后端测试代码到这里就结束了,来微信小程序前端对接接口

     toPay: function (event) {
        var that = this
        wx.request({
          // url: wx.getStorageSync('domainName') + '/api/itempay.ashx', //仅为示例,并非真实的接口地址
          url: wx.getStorageSync('basePath') + '/pay/createOrder',
          method:'get',
          data: {
            itemid: event.target.dataset.itemid,
            userid: wx.getStorageSync('userId'),
            type: 'mp',
            openid: wx.getStorageSync('openid')
          },
          header: {
            'content-type': 'application/json' // 默认值
          },
          success: function (res) {
            // debugger;
            var param = res.data;
            wx.requestPayment(
              {
              'timeStamp': param.timeStamp,
              'nonceStr': param.nonceStr,
              'package': param.packageValue,
              'signType': 'MD5',
              'paySign': param.paySign,
              'success':function(result){
                console.log(result);
              },
              'fail':function(result){
                console.log(result);
              },
              'complete':function(result){
                console.log(result);
              }
            })
          }
        })
      },

    操作到此结束,现在开始测试

     项目启动准备测试  在微信开发工具中显示

     转为真机调试测试结果为

     ok了,其他的就自己测试测试了,言尽于此希望了能帮助到小伙伴们

  • 相关阅读:
    树莓派_GPIO
    Python_PyQt_基本使用
    python_静态,组合,继承
    Linux_操作
    Pyqt5+eric6安装教程
    树莓派操作
    python_爬虫_requests
    HTML的基本操作
    python_pandas_numpy_json
    python_模块_sys_time_random_os
  • 原文地址:https://www.cnblogs.com/study-together/p/13690280.html
Copyright © 2020-2023  润新知