From 6150994d7130590ffb672d631165a8555254edf3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=AE=87=E8=88=AA?= <653809315@qq.com>
Date: Sat, 11 May 2024 18:09:41 +0800
Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
gan-modules/ruoyi-gan/pom.xml | 2 +-
.../ruoyi/app/controller/PayController.java | 52 ++++++++++---------
.../app/domain/dto/WeChatPrepayResult.java | 4 ++
.../com/ruoyi/app/service/AlipayService.java | 28 +++++-----
.../app/service/impl/PayServiceImpl.java | 4 +-
5 files changed, 48 insertions(+), 42 deletions(-)
diff --git a/gan-modules/ruoyi-gan/pom.xml b/gan-modules/ruoyi-gan/pom.xml
index 990a428..d8fbf86 100644
--- a/gan-modules/ruoyi-gan/pom.xml
+++ b/gan-modules/ruoyi-gan/pom.xml
@@ -130,7 +130,7 @@
com.alipay.sdk
alipay-sdk-java
- 4.39.68.ALL
+ 4.34.0.ALL
diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/PayController.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/PayController.java
index c538d1c..ad67d1c 100644
--- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/PayController.java
+++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/PayController.java
@@ -257,10 +257,12 @@ public class PayController extends BaseController
prePayResult.setCode("000");
prePayResult.setNonceStr(nonce_str);
prePayResult.setTimeStamp(String.valueOf(timeStamp));
- prePayResult.setPackageStr("prepay_id="+ prePayId);
+ prePayResult.setPackageStr(prePayId);
prePayResult.setSignType("MD5");
prePayResult.setPaySign(paySign);
prePayResult.setOrderNo(order.getOutTradeNo());
+ prePayResult.setAppId(PayConfig.APPID);
+ prePayResult.setMchId(PayConfig.MCH_ID);
log.info("=====>>>返回给小程序的数据:"+prePayResult.toString());
return AjaxResult.success(prePayResult);
}
@@ -477,29 +479,29 @@ public class PayController extends BaseController
@ApiOperation(value = "支付宝支付", notes = "支付宝支付", httpMethod = "POST")
public String aliPay(@RequestBody AppOrderArg appOrderArg) throws Exception{
return alipayService.startPay();
- /*String orderNo = KeyUtil.generateUniqueKey();
- AlipayTradeCreateResponse result = null;
- try {
- result = alipayService.startPay(orderNo, appOrderArg.getPrice());
- } catch (AlipayApiException e) {
- e.printStackTrace();
- }
- if (result.isSuccess()) {
- AppOrder order = new AppOrder();
- order.setOutTradeNo(orderNo);
- order.setPrice(appOrderArg.getPrice());
- order.setAppId(AlipayService.APP_ID);
- order.setUserId(appOrderArg.getUserId());
- order.setPayStatus(1);
- order.setPaySoure(2);
- order.setCreateTime(new Date());
- order.setLevel(appOrderArg.getLevel());
- appOrderMapper.insertAppOrder(order);
- //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
- String orderStr = new String(result.getBody().getBytes("ISO-8859-1"), "utf-8");
- return orderStr;
- } else {
- return null;
- }*/
+// String orderNo = KeyUtil.generateUniqueKey();
+// AlipayTradeCreateResponse result = null;
+// try {
+// result = alipayService.startPay(orderNo, appOrderArg.getPrice());
+// } catch (AlipayApiException e) {
+// e.printStackTrace();
+// }
+// if (result.isSuccess()) {
+// AppOrder order = new AppOrder();
+// order.setOutTradeNo(orderNo);
+// order.setPrice(appOrderArg.getPrice());
+// order.setAppId(AlipayService.APP_ID);
+// order.setUserId(appOrderArg.getUserId());
+// order.setPayStatus(1);
+// order.setPaySoure(2);
+// order.setCreateTime(new Date());
+// order.setLevel(appOrderArg.getLevel());
+// appOrderMapper.insertAppOrder(order);
+// //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
+// String orderStr = new String(result.getBody().getBytes("ISO-8859-1"), "utf-8");
+// return orderStr;
+// } else {
+// return null;
+// }
}
}
diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/dto/WeChatPrepayResult.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/dto/WeChatPrepayResult.java
index 33d0ef8..6c6ad0f 100644
--- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/dto/WeChatPrepayResult.java
+++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/dto/WeChatPrepayResult.java
@@ -19,4 +19,8 @@ public class WeChatPrepayResult {
public String paySign;//签名
public String orderNo;
+
+ public String appId;
+
+ public String mchId;
}
diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/AlipayService.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/AlipayService.java
index c6f8b54..f20a2fd 100644
--- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/AlipayService.java
+++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/AlipayService.java
@@ -85,11 +85,11 @@ public class AlipayService {
certParams.setFormat("json");
certParams.setSignType("RSA2");
//请更换为您的应用公钥证书文件路径
- certParams.setCertPath("/Users/hwlin/document/04bingyu/02社交/证书20240511105916/appCertPublicKey_2021004144677656.crt");
+ certParams.setCertPath("/Users/wyh/Documents/code/gan/gan-modules/ruoyi-gan/src/main/resources/appCertPublicKey_2021004144677656.crt");
//请更换您的支付宝公钥证书文件路径
- certParams.setAlipayPublicCertPath("/Users/hwlin/document/04bingyu/02社交/证书20240511105916/alipayCertPublicKey_RSA2.crt");
+ certParams.setAlipayPublicCertPath("/Users/wyh/Documents/code/gan/gan-modules/ruoyi-gan/src/main/resources/alipayCertPublicKey_RSA2.crt");
//更换为支付宝根证书文件路径
- certParams.setRootCertPath("/Users/hwlin/document/04bingyu/02社交/证书20240511105916/alipayRootCert.crt");
+ certParams.setRootCertPath("/Users/wyh/Documents/code/gan/gan-modules/ruoyi-gan/src/main/resources/alipayRootCert.crt");
return certParams;
}
@@ -142,19 +142,19 @@ public class AlipayService {
AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
request.setNotifyUrl(NOTIFY_URL);
//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
- AlipayTradeAppPayModel model = new AlipayTradeAppPayModel ();
- //model.setBody("我是测试数据" );
- model.setSubject ( "App支付测试Java" );
- model.setOutTradeNo ( KeyUtil.generateUniqueKey() );
- //model.setTimeoutExpress ( "30m" );
- model.setTotalAmount ( "0.01" );
- //model.setProductCode ( "QUICK_MSECURITY_PAY" );
- request.setBizModel ( model );
- /*JSONObject jsonObject = new JSONObject();
+// AlipayTradeAppPayModel model = new AlipayTradeAppPayModel ();
+// //model.setBody("我是测试数据" );
+// model.setSubject ( "App支付测试Java" );
+// model.setOutTradeNo ( KeyUtil.generateUniqueKey() );
+// //model.setTimeoutExpress ( "30m" );
+// model.setTotalAmount ( "0.01" );
+// //model.setProductCode ( "QUICK_MSECURITY_PAY" );
+// request.setBizModel ( model );
+ JSONObject jsonObject = new JSONObject();
jsonObject.put("out_trade_no" , KeyUtil.generateUniqueKey());
jsonObject.put("total_amount",0.01);
jsonObject.put("subject","订单充值");
- request.setBizContent(jsonObject.toString());*/
+ request.setBizContent(jsonObject.toString());
// 3. 发起请求并处理响应
AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
if (response.isSuccess()) {
@@ -188,7 +188,7 @@ public class AlipayService {
alipayRequest.setBizContent("{" +
"\"out_trade_no\":\"" + outTradeNo + "\"," +
"\"total_amount\":\"" + totalAmount + "\"," +
- "\"subject\":\"" + SUBJECT + "\"," +
+ "\"subject\":\"" + SUBJECT + "\"" +
"}");
// 发起支付请求并获取支付结果
diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/PayServiceImpl.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/PayServiceImpl.java
index a3830f1..530e10c 100644
--- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/PayServiceImpl.java
+++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/PayServiceImpl.java
@@ -37,8 +37,8 @@ public class PayServiceImpl implements IPayService {
parameterMap.put("trade_type", "JSAPI");
//parameterMap.put("trade_type", "APP");
//parameterMap.put("trade_type", "MWEB");
- //parameterMap.put("openid", openId);
- String sign = PayUtils.createSign(PayConfig.wechat_notify_url, parameterMap);
+ parameterMap.put("openid", "o3l4V40jplnj6ulmB23o_9SFR3eM");
+ String sign = PayUtils.createSign(PayConfig.APP_KEY, parameterMap);
log.info("sign:" + sign);
parameterMap.put("sign", sign);
String body = PayUtils.getRequestXml(parameterMap);