main
王宇航 2024-05-11 18:09:41 +08:00
parent 6f18cbf0c5
commit 6150994d71
5 changed files with 48 additions and 42 deletions

View File

@ -130,7 +130,7 @@
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.39.68.ALL</version>
<version>4.34.0.ALL</version>
</dependency>
<dependency>

View File

@ -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;
// }
}
}

View File

@ -19,4 +19,8 @@ public class WeChatPrepayResult {
public String paySign;//签名
public String orderNo;
public String appId;
public String mchId;
}

View File

@ -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 + "\"" +
"}");
// 发起支付请求并获取支付结果

View File

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