guohongjin
2024-05-10 19d4dd3d5ab4563b06b13f2cfefd752920ffb9a1
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java
@@ -159,12 +159,12 @@
            .nonce_str(WxPayKit.generateStr())
            .body(req.getSubject())
            .attach(req.getSubject())
            //.out_trade_no(WxPayKit.generateStr())
            .out_trade_no(req.getOrderNo())
            .out_trade_no(WxPayKit.generateStr())
//            .out_trade_no(req.getOrderNo())
            .total_fee(totalFee)
            .spbill_create_ip(ip)
            .notify_url(notifyUrl)
            .trade_type(TradeType.APP.getTradeType())
            .trade_type(TradeType.APP.getTradeType()).attach(req.getOrderNo())
            .build()
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
      log.debug("微信APP支付请求params:{}", JSONUtil.toJsonStr(params));
@@ -205,10 +205,11 @@
      if (WxPayKit.verifyNotify(params, WxPayApiConfigKit.getWxPayApiConfig().getPartnerKey(), SignType.MD5)) {
         if (WxPayKit.codeIsOk(returnCode)) {
            // 参数文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7&index=8
            String totalFee = params.get("total_fee");
            String totalFee = new BigDecimal(params.get("total_fee")).divide(BigDecimal.valueOf(100)).toString();
            String transactionId = params.get("transaction_id");
            // 获取订单号
            String orderNo = params.get("out_trade_no");
//            String orderNo = params.get("out_trade_no");
            String orderNo = params.get("attach");
            // 订单编号判断订单类型
            if (orderNo.startsWith(OrderTypeEnum.MENTAL_TEST.getCode())) {
               // 心理测试订单