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);