goupan
2024-04-24 55ab31e1b5d1953d48958dad6d0e33fddf3dc5b7
修改bug
3个文件已修改
44 ■■■■ 已修改文件
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/AliPayController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rest/src/main/resources/ijpay/wxpay.properties 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/AliPayController.java
@@ -511,7 +511,7 @@
     * 退款
     */
    @ApiOperation("支付宝退款")
    @RequestMapping(value = RuleConstants.NOT_LOGIN + "/tradeRefund")
    @RequestMapping(value = RuleConstants.NOT_LOGIN + "/tradeRefund", method = {RequestMethod.POST, RequestMethod.GET})
    @ResponseBody
    public Boolean tradeRefund(@RequestParam(required = false, name = "outTradeNo") String outTradeNo, @RequestParam(required = false, name = "tradeNo") String tradeNo) {
        log.info("支付宝-退款信息-outTradeNo:"+outTradeNo+", tradeNo:"+tradeNo);
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java
@@ -137,24 +137,24 @@
                .notify_url(notifyUrl)
                .trade_type(TradeType.APP.getTradeType())
                .build()
                .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
        log.info("微信APP支付请求params:{}", JSONUtil.toJsonStr(params));
                .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
        log.debug("微信APP支付请求params:{}", JSONUtil.toJsonStr(params));
        String xmlResult = WxPayApi.pushOrder(false, params);
        log.info("微信APP支付结果xml:{}", xmlResult);
        log.debug("微信APP支付结果xml:{}", xmlResult);
        Map<String, String> result = WxPayKit.xmlToMap(xmlResult);
        String returnCode = result.get("return_code");
        String resultCode = result.get("result_code");
        String returnMsg = result.get("return_msg");
        if (!WxPayKit.codeIsOk(returnCode) || !WxPayKit.codeIsOk(resultCode)) {
            log.error("微信APP支付异常!{}", returnMsg);
            log.error("微信APP支付异常!{}", result);
            return new ErrorResponseData(returnMsg);
        }
        // 以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
        String prepayId = result.get("prepay_id");
        Map<String, String> packageParams = WxPayKit.appPrepayIdCreateSign(wxPayApiConfig.getAppId(), wxPayApiConfig.getMchId(), prepayId, wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
        Map<String, String> packageParams = WxPayKit.appPrepayIdCreateSign(wxPayApiConfig.getAppId(), wxPayApiConfig.getMchId(), prepayId, wxPayApiConfig.getPartnerKey(), SignType.MD5);
        String jsonStr = JSON.toJSONString(packageParams);
        log.info("微信APP支付返回参数:{}", jsonStr);
@@ -174,7 +174,7 @@
        // 注意重复通知的情况,同一订单号可能收到多次通知,请注意一定先判断订单状态
        // 注意此处签名方式需与统一下单的签名类型一致
        if (WxPayKit.verifyNotify(params, WxPayApiConfigKit.getWxPayApiConfig().getPartnerKey(), SignType.HMACSHA256)) {
        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");
@@ -281,7 +281,7 @@
            .trade_type(TradeType.MWEB.getTradeType())
            .scene_info(JSON.toJSONString(sceneInfo))
            .build()
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
        String xmlResult = WxPayApi.pushOrder(false, params);
        log.info(xmlResult);
@@ -345,7 +345,7 @@
            .trade_type(TradeType.JSAPI.getTradeType())
            .openid(openId)
            .build()
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
        String xmlResult = WxPayApi.pushOrder(false, params);
        log.info(xmlResult);
@@ -366,7 +366,7 @@
        String prepayId = resultMap.get("prepay_id");
        Map<String, String> packageParams = WxPayKit.prepayIdCreateSign(prepayId, wxPayApiConfig.getAppId(),
            wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
            wxPayApiConfig.getPartnerKey(), SignType.MD5);
        String jsonStr = JSON.toJSONString(packageParams);
        return new SuccessResponseData(jsonStr);
@@ -459,7 +459,7 @@
                .trade_type(TradeType.NATIVE.getTradeType())
                .openid(openId)
                .build()
                .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
                .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
            String xmlResult = WxPayApi.pushOrder(false, params);
            log.info("统一下单:" + xmlResult);
            /**
@@ -486,7 +486,7 @@
                    //result_code为FAIL时,添加该键值对,value值是微信告诉客户的信息
                    prepayParams.put("err_code_des", "订单失效");
                }
                prepaySign = WxPayKit.createSign(prepayParams, wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
                prepaySign = WxPayKit.createSign(prepayParams, wxPayApiConfig.getPartnerKey(), SignType.MD5);
                prepayParams.put("sign", prepaySign);
                String xml = WxPayKit.toXml(prepayParams);
                log.error(xml);
@@ -528,7 +528,7 @@
            .notify_url(notifyUrl)
            .trade_type(TradeType.NATIVE.getTradeType())
            .build()
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
        String xmlResult = WxPayApi.pushOrder(false, params);
        log.info("统一下单:" + xmlResult);
@@ -590,7 +590,7 @@
            .spbill_create_ip(ip)
            .auth_code(authCode)
            .build()
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
        String xmlResult = WxPayApi.microPay(false, params);
        //同步返回结果
@@ -651,7 +651,7 @@
            .trade_type(TradeType.JSAPI.getTradeType())
            .openid(openId)
            .build()
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
            .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
        String xmlResult = WxPayApi.pushOrder(false, params);
@@ -670,7 +670,7 @@
        // 以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
        String prepayId = result.get("prepay_id");
        Map<String, String> packageParams = WxPayKit.miniAppPrepayIdCreateSign(wxPayApiConfig.getAppId(), prepayId,
            wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
            wxPayApiConfig.getPartnerKey(), SignType.MD5);
        String jsonStr = JSON.toJSONString(packageParams);
        log.info("小程序支付的参数:" + jsonStr);
        return new SuccessResponseData(jsonStr);
@@ -812,7 +812,7 @@
            params.put("bank_code", "1001");
            params.put("amount", "1");
            params.put("desc", "IJPay 让支付触手可及-付款到银行卡");
            params.put("sign", WxPayKit.createSign(params, wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256));
            params.put("sign", WxPayKit.createSign(params, wxPayApiConfig.getPartnerKey(), SignType.MD5));
            return WxPayApi.payBank(params, wxPayApiConfig.getCertPath(), wxPayApiConfig.getMchId());
        } catch (Exception e) {
            e.printStackTrace();
@@ -860,7 +860,7 @@
                .nonce_str(WxPayKit.generateStr())
                .receiver(JSON.toJSONString(receiver))
                .build()
                .createSign(wxPayBean.getPartnerKey(), SignType.HMACSHA256);
                .createSign(wxPayBean.getPartnerKey(), SignType.MD5);
            log.info("请求参数:{}", WxPayKit.toXml(params));
            String result = WxPayApi.profitSharingAddReceiver(params);
            log.info("请求结果:{}", result);
@@ -894,7 +894,7 @@
            .out_order_no(WxPayKit.generateStr())
            .receivers(JSON.toJSONString(list))
            .build()
            .createSign(wxPayBean.getPartnerKey(), SignType.HMACSHA256);
            .createSign(wxPayBean.getPartnerKey(), SignType.MD5);
        log.info("请求参数:{}", WxPayKit.toXml(params));
        String result = WxPayApi.profitSharing(params, wxPayBean.getCertPath(), wxPayBean.getMchId());
rest/src/main/resources/ijpay/wxpay.properties
@@ -1,9 +1,9 @@
wxpay.appId=wx97ff4a530ce9c933
wxpay.appSecret=7d8845342e3af5b5ff2289b55eccd716
wxpay.mchId=1675018573
# wxpay.partnerKey=H8JdzeF35n2yTRfNk2WnZxEtbY3aB8P0
wxpay.partnerKey=mQQc4irkRkKp0B25cnPWthHc9YbByJy9
wxpay.partnerKey=H8JdzeF35n2yTRfNk2WnZxEtbY3aB8P0
# wxpay.partnerKey=mQQc4irkRkKp0B25cnPWthHc9YbByJy9
wxpay.certPath=/ijpay/cert/apiclient_cert.p12
wxpay.domain=\u5916\u7F51\u8BBF\u95EE\u9879\u76EE\u7684\u57DF\u540D\uFF0C\u652F\u4ED8\u901A\u77E5\u4E2D\u4F1A\u4F7F\u7528
wxpay.domain=http://www.xintongtong.cn:8081/rest
wxpay.worker.appId=wx360336f91d289d52
wxpay.worker.appSecret=9022c6a2e8d628e85c99fa787313a79e