From 672ec0a719f4edb07cb37d0f1b8b486eeb1cfbbe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 19 十一月 2020 16:18:43 +0800 Subject: [PATCH] 支付宝调整 --- utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java | 59 +++++++++++++++++++++++++++-------------------------------- 1 files changed, 27 insertions(+), 32 deletions(-) diff --git a/utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java b/utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java index 529695e..5af5848 100644 --- a/utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java +++ b/utils/src/main/java/org/yeshi/utils/alipay/AlipayUtil.java @@ -1,9 +1,7 @@ package org.yeshi.utils.alipay; -import com.alibaba.fastjson.JSON; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; -import com.alipay.api.CertAlipayRequest; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipayFundAccountQueryRequest; import com.alipay.api.request.AlipayFundTransCommonQueryRequest; @@ -14,7 +12,6 @@ import net.sf.json.JSONObject; import org.yeshi.utils.StringUtil; import org.yeshi.utils.entity.alipay.AlipayAppInfo; -import org.yeshi.utils.entity.alipay.AlipayCertInfo; import org.yeshi.utils.entity.alipay.AlipayTransferInfo; import org.yeshi.utils.exception.AlipayCommonException; import org.yeshi.utils.exception.AlipayTransferException; @@ -23,42 +20,40 @@ public class AlipayUtil { - public static AlipayClient getAlipayClient(AlipayAppInfo app) { - AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", app.getAppId(), app.getPrivateKey(), "json", "GBK", app.getAlipayPublicKey(), "RSA2"); - return alipayClient; + public static AlipayClient getAlipayClient(AlipayAppInfo app) throws AlipayApiException { + if (app.getCertInfo() == null) { + AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", app.getAppId(), app.getPrivateKey(), "json", "GBK", app.getAlipayPublicKey(), "RSA2"); + return alipayClient; + } else { + String privateKey = app.getPrivateKey(); + MyCertAlipayRequest certAlipayRequest = new MyCertAlipayRequest(); + certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do"); + certAlipayRequest.setAppId(app.getAppId()); + certAlipayRequest.setPrivateKey(privateKey); + certAlipayRequest.setFormat("json"); + certAlipayRequest.setCharset("GBK"); + certAlipayRequest.setSignType("RSA2"); + certAlipayRequest.setCertStream( + app.getCertInfo().getAppCertPublicKeyStream()); + certAlipayRequest.setAlipayPublicCertStream( + app.getCertInfo().getAlipayPublicCertStream()); + certAlipayRequest.setRootCertStream( + app.getCertInfo().getAlipayRootCertStream()); + return new CertAlipayClient(certAlipayRequest); + } } - - private static AlipayClient getAlipayClient(AlipayAppInfo app, AlipayCertInfo info) throws AlipayApiException { - String privateKey = app.getPrivateKey(); - MyCertAlipayRequest certAlipayRequest = new MyCertAlipayRequest(); - certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do"); - certAlipayRequest.setAppId(app.getAppId()); - certAlipayRequest.setPrivateKey(privateKey); - certAlipayRequest.setFormat("json"); - certAlipayRequest.setCharset("GBK"); - certAlipayRequest.setSignType("RSA2"); - certAlipayRequest.setCertStream( - info.getAppCertPublicKeyStream()); - certAlipayRequest.setAlipayPublicCertStream( - info.getAlipayPublicCertStream()); - certAlipayRequest.setRootCertStream( - info.getAlipayRootCertStream()); - return new CertAlipayClient(certAlipayRequest); - } - /** * 缁熶竴杞处锛堝寘鍚孩鍖呬笌杞处锛� * * @param app * @param info - * @param certInfo * @return * @throws AlipayApiException * @throws NumberFormatException * @throws AlipayTransferException */ - public static AlipayFundTransUniTransferResponse alipayFundTransUniTransfer(AlipayAppInfo app, AlipayTransferInfo info, AlipayCertInfo certInfo) + public static AlipayFundTransUniTransferResponse alipayFundTransUniTransfer(AlipayAppInfo app, AlipayTransferInfo info) throws AlipayApiException, NumberFormatException, AlipayTransferException { AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); com.alibaba.fastjson.JSONObject json = new com.alibaba.fastjson.JSONObject(); @@ -96,7 +91,7 @@ request.setBizContent(json.toString()); AlipayFundTransUniTransferResponse response = null; - response = getAlipayClient(app, certInfo).certificateExecute(request); + response = getAlipayClient(app).certificateExecute(request); // 鎴愬姛杞处 if (response != null && response.isSuccess() && "10000".equals(response.getCode())) { return response; @@ -119,8 +114,8 @@ * @return * @throws AlipayApiException */ - public static AlipayFundTransCommonQueryResponse getOrderDetail(AlipayAppInfo app, AlipayCertInfo certInfo, AlipayTransferInfo.AlipayProductCodeEnum productCode, AlipayTransferInfo.AlipayBizSceneEnum bizScene, String outBizNo) throws AlipayApiException, AlipayCommonException { - AlipayClient alipayClient = getAlipayClient(app, certInfo); + public static AlipayFundTransCommonQueryResponse getOrderDetail(AlipayAppInfo app, AlipayTransferInfo.AlipayProductCodeEnum productCode, AlipayTransferInfo.AlipayBizSceneEnum bizScene, String outBizNo) throws AlipayApiException, AlipayCommonException { + AlipayClient alipayClient = getAlipayClient(app); AlipayFundTransCommonQueryRequest request = new AlipayFundTransCommonQueryRequest(); com.alibaba.fastjson.JSONObject content = new com.alibaba.fastjson.JSONObject(); if (productCode != null) @@ -146,8 +141,8 @@ * @throws AlipayApiException * @throws AlipayCommonException */ - public static BigDecimal getAccountBalance(AlipayAppInfo app, AlipayCertInfo certInfo, String userId) throws AlipayApiException, AlipayCommonException { - AlipayClient alipayClient = getAlipayClient(app, certInfo); + public static BigDecimal getAccountBalance(AlipayAppInfo app, String userId) throws AlipayApiException, AlipayCommonException { + AlipayClient alipayClient = getAlipayClient(app); AlipayFundAccountQueryRequest request = new AlipayFundAccountQueryRequest(); com.alibaba.fastjson.JSONObject content = new com.alibaba.fastjson.JSONObject(); content.put("alipay_user_id", userId); -- Gitblit v1.8.0