From 1211571e32f67dac5ccf957a3ad808a2ebc4fe8b Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期一, 29 四月 2024 15:38:23 +0800 Subject: [PATCH] 微信支付订单号重复 --- rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java b/rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java index ee3f4b2..3f1d935 100644 --- a/rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java +++ b/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())) { // 心理测试订单 -- Gitblit v1.7.1