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> <dependency>
<groupId>com.alipay.sdk</groupId> <groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId> <artifactId>alipay-sdk-java</artifactId>
<version>4.39.68.ALL</version> <version>4.34.0.ALL</version>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -257,10 +257,12 @@ public class PayController extends BaseController
prePayResult.setCode("000"); prePayResult.setCode("000");
prePayResult.setNonceStr(nonce_str); prePayResult.setNonceStr(nonce_str);
prePayResult.setTimeStamp(String.valueOf(timeStamp)); prePayResult.setTimeStamp(String.valueOf(timeStamp));
prePayResult.setPackageStr("prepay_id="+ prePayId); prePayResult.setPackageStr(prePayId);
prePayResult.setSignType("MD5"); prePayResult.setSignType("MD5");
prePayResult.setPaySign(paySign); prePayResult.setPaySign(paySign);
prePayResult.setOrderNo(order.getOutTradeNo()); prePayResult.setOrderNo(order.getOutTradeNo());
prePayResult.setAppId(PayConfig.APPID);
prePayResult.setMchId(PayConfig.MCH_ID);
log.info("=====>>>返回给小程序的数据:"+prePayResult.toString()); log.info("=====>>>返回给小程序的数据:"+prePayResult.toString());
return AjaxResult.success(prePayResult); return AjaxResult.success(prePayResult);
} }
@ -477,29 +479,29 @@ public class PayController extends BaseController
@ApiOperation(value = "支付宝支付", notes = "支付宝支付", httpMethod = "POST") @ApiOperation(value = "支付宝支付", notes = "支付宝支付", httpMethod = "POST")
public String aliPay(@RequestBody AppOrderArg appOrderArg) throws Exception{ public String aliPay(@RequestBody AppOrderArg appOrderArg) throws Exception{
return alipayService.startPay(); return alipayService.startPay();
/*String orderNo = KeyUtil.generateUniqueKey(); // String orderNo = KeyUtil.generateUniqueKey();
AlipayTradeCreateResponse result = null; // AlipayTradeCreateResponse result = null;
try { // try {
result = alipayService.startPay(orderNo, appOrderArg.getPrice()); // result = alipayService.startPay(orderNo, appOrderArg.getPrice());
} catch (AlipayApiException e) { // } catch (AlipayApiException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
if (result.isSuccess()) { // if (result.isSuccess()) {
AppOrder order = new AppOrder(); // AppOrder order = new AppOrder();
order.setOutTradeNo(orderNo); // order.setOutTradeNo(orderNo);
order.setPrice(appOrderArg.getPrice()); // order.setPrice(appOrderArg.getPrice());
order.setAppId(AlipayService.APP_ID); // order.setAppId(AlipayService.APP_ID);
order.setUserId(appOrderArg.getUserId()); // order.setUserId(appOrderArg.getUserId());
order.setPayStatus(1); // order.setPayStatus(1);
order.setPaySoure(2); // order.setPaySoure(2);
order.setCreateTime(new Date()); // order.setCreateTime(new Date());
order.setLevel(appOrderArg.getLevel()); // order.setLevel(appOrderArg.getLevel());
appOrderMapper.insertAppOrder(order); // appOrderMapper.insertAppOrder(order);
//valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8"); // //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
String orderStr = new String(result.getBody().getBytes("ISO-8859-1"), "utf-8"); // String orderStr = new String(result.getBody().getBytes("ISO-8859-1"), "utf-8");
return orderStr; // return orderStr;
} else { // } else {
return null; // return null;
}*/ // }
} }
} }

View File

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

View File

@ -85,11 +85,11 @@ public class AlipayService {
certParams.setFormat("json"); certParams.setFormat("json");
certParams.setSignType("RSA2"); 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; return certParams;
} }
@ -142,19 +142,19 @@ public class AlipayService {
AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
request.setNotifyUrl(NOTIFY_URL); request.setNotifyUrl(NOTIFY_URL);
//SDK已经封装掉了公共参数这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。 //SDK已经封装掉了公共参数这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel (); // AlipayTradeAppPayModel model = new AlipayTradeAppPayModel ();
//model.setBody("我是测试数据" ); // //model.setBody("我是测试数据" );
model.setSubject ( "App支付测试Java" ); // model.setSubject ( "App支付测试Java" );
model.setOutTradeNo ( KeyUtil.generateUniqueKey() ); // model.setOutTradeNo ( KeyUtil.generateUniqueKey() );
//model.setTimeoutExpress ( "30m" ); // //model.setTimeoutExpress ( "30m" );
model.setTotalAmount ( "0.01" ); // model.setTotalAmount ( "0.01" );
//model.setProductCode ( "QUICK_MSECURITY_PAY" ); // //model.setProductCode ( "QUICK_MSECURITY_PAY" );
request.setBizModel ( model ); // request.setBizModel ( model );
/*JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("out_trade_no" , KeyUtil.generateUniqueKey()); jsonObject.put("out_trade_no" , KeyUtil.generateUniqueKey());
jsonObject.put("total_amount",0.01); jsonObject.put("total_amount",0.01);
jsonObject.put("subject","订单充值"); jsonObject.put("subject","订单充值");
request.setBizContent(jsonObject.toString());*/ request.setBizContent(jsonObject.toString());
// 3. 发起请求并处理响应 // 3. 发起请求并处理响应
AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
if (response.isSuccess()) { if (response.isSuccess()) {
@ -188,7 +188,7 @@ public class AlipayService {
alipayRequest.setBizContent("{" + alipayRequest.setBizContent("{" +
"\"out_trade_no\":\"" + outTradeNo + "\"," + "\"out_trade_no\":\"" + outTradeNo + "\"," +
"\"total_amount\":\"" + totalAmount + "\"," + "\"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", "JSAPI");
//parameterMap.put("trade_type", "APP"); //parameterMap.put("trade_type", "APP");
//parameterMap.put("trade_type", "MWEB"); //parameterMap.put("trade_type", "MWEB");
//parameterMap.put("openid", openId); parameterMap.put("openid", "o3l4V40jplnj6ulmB23o_9SFR3eM");
String sign = PayUtils.createSign(PayConfig.wechat_notify_url, parameterMap); String sign = PayUtils.createSign(PayConfig.APP_KEY, parameterMap);
log.info("sign:" + sign); log.info("sign:" + sign);
parameterMap.put("sign", sign); parameterMap.put("sign", sign);
String body = PayUtils.getRequestXml(parameterMap); String body = PayUtils.getRequestXml(parameterMap);