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