diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java index 1dcdeeb..ff51eb2 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java @@ -26,7 +26,7 @@ import java.util.*; * email egzosn@gmail.com * date 2017-2-22 20:09 */ -public class AliPayService extends BasePayService { +public class AliPayService extends BasePayService { /** * 正式测试环境 diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java index 5ad9318..ae9c93b 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java @@ -35,7 +35,7 @@ import static com.egzosn.pay.ali.api.AliPayService.SIGN; * @see com.egzosn.pay.ali.api.AliPayService */ @Deprecated -public class AliPayService extends BasePayService { +public class AliPayService extends BasePayService { diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java b/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java index ef39af7..c955e04 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java @@ -26,7 +26,7 @@ import java.util.*; * date 2017/3/5 20:36 * */ -public abstract class BasePayService implements PayService { +public abstract class BasePayService implements PayService { protected final Log LOG = LogFactory.getLog(getClass()); protected PC payConfigStorage; @@ -138,7 +138,7 @@ public abstract class BasePayService String toPay(O order) { Map orderInfo = orderInfo(order); return buildRequest(orderInfo, MethodType.POST); } @@ -150,7 +150,7 @@ public abstract class BasePayService BufferedImage genQrPay(O order) { return MatrixToImageWriter.writeInfoToJpgBuff(getQrPay(order)); } @@ -463,7 +463,7 @@ public abstract class BasePayService preOrderHandler(Map orderInfo, O payOrder){ + public Map preOrderHandler(Map orderInfo, O payOrder){ return orderInfo; } diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java b/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java index 70fe5e5..346b3f5 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java @@ -20,7 +20,7 @@ import java.util.Map; * date 2016-5-18 14:09:01 * */ -public interface PayService { +public interface PayService { /** @@ -88,7 +88,7 @@ public interface PayService { * @return 订单信息 * @see PayOrder 支付订单信息 */ - Map orderInfo(O order); + Map orderInfo(O order); /** * 页面转跳支付, 返回对应页面重定向信息 @@ -96,7 +96,7 @@ public interface PayService { * @param order 订单信息 * @return 对应页面重定向信息 */ - String toPay(O order); + String toPay(O order); /** * 创建签名 @@ -160,14 +160,14 @@ public interface PayService { * @param order 发起支付的订单信息 * @return 返回图片信息,支付时需要的 */ - BufferedImage genQrPay(O order); + BufferedImage genQrPay(O order); /** * 获取输出二维码信息, * * @param order 发起支付的订单信息 * @return 返回二维码信息,,支付时需要的 */ - String getQrPay(O order); + String getQrPay(O order); /** * 刷卡付,pos主动扫码付款(条码付) @@ -175,7 +175,7 @@ public interface PayService { * @param order 发起支付的订单信息 * @return 返回支付结果 */ - Map microPay(O order); + Map microPay(O order); /** * 交易查询接口 @@ -462,6 +462,6 @@ public interface PayService { * @param payOrder 订单信息 * @return 处理后订单信息 */ - Map preOrderHandler(Map orderInfo, O payOrder); + Map preOrderHandler(Map orderInfo, O payOrder); } diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java index c816e32..ceaf45b 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java @@ -52,7 +52,9 @@ public class HttpRequestTemplate { protected HttpHost httpProxy; - HttpConfigStorage configStorage; + protected HttpConfigStorage configStorage; + + private SSLConnectionSocketFactory sslsf; /** * 获取代理带代理地址的 HttpHost * @return 获取代理带代理地址的 HttpHost @@ -73,9 +75,9 @@ public class HttpRequestTemplate { .custom() //网络提供者 .setDefaultCredentialsProvider(createCredentialsProvider(configStorage)) + .setConnectionManager(connectionManager(configStorage)) //设置httpclient的SSLSocketFactory .setSSLSocketFactory(createSSL(configStorage)) - .setConnectionManager(connectionManager(configStorage)) .setDefaultRequestConfig(createRequestConfig(configStorage)) .build(); if (null == connectionManager) { @@ -114,36 +116,38 @@ public class HttpRequestTemplate { * @return SSLConnectionSocketFactory Layered socket factory for TLS/SSL connections. */ public SSLConnectionSocketFactory createSSL( HttpConfigStorage configStorage){ - + if (null != sslsf){ + return sslsf; + } if (null == configStorage.getKeystore()){ try { - return new SSLConnectionSocketFactory(SSLContext.getDefault()); + return sslsf = new SSLConnectionSocketFactory(SSLContext.getDefault()); } catch (NoSuchAlgorithmException e) { LOG.error(e); } } - //读取本机存放的PKCS12证书文件 + //读取本机存放的PKCS12证书文件 try(InputStream instream = configStorage.getKeystoreInputStream()){ - //指定读取证书格式为PKCS12 - KeyStore keyStore = KeyStore.getInstance("PKCS12"); + //指定读取证书格式为PKCS12 + KeyStore keyStore = KeyStore.getInstance("PKCS12"); - char[] password = configStorage.getStorePassword().toCharArray(); - //指定PKCS12的密码 - keyStore.load(instream, password); - // 实例化密钥库 & 初始化密钥工厂 - KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); - kmf.init(keyStore, password); - // 创建 SSLContext - SSLContext sslcontext = SSLContexts.custom() - .loadKeyMaterial(keyStore, password).build(); + char[] password = configStorage.getStorePassword().toCharArray(); + //指定PKCS12的密码 + keyStore.load(instream, password); + // 实例化密钥库 & 初始化密钥工厂 + KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); + kmf.init(keyStore, password); + // 创建 SSLContext + SSLContext sslcontext = SSLContexts.custom() + .loadKeyMaterial(keyStore, password).build(); - //指定TLS版本 - SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory( - sslcontext, new String[]{"TLSv1"}, null, - new DefaultHostnameVerifier()); + //指定TLS版本 + sslsf = new SSLConnectionSocketFactory( + sslcontext, new String[]{"TLSv1"}, null, + new DefaultHostnameVerifier()); - return sslsf; + return sslsf; } catch (IOException e) { LOG.error(e); } catch (GeneralSecurityException e) { @@ -168,7 +172,7 @@ public class HttpRequestTemplate { // 需要用户认证的代理服务器 CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( - AuthScope.ANY, + AuthScope.ANY, new UsernamePasswordCredentials(configStorage.getAuthUsername(), configStorage.getAuthPassword())); @@ -348,9 +352,9 @@ public class HttpRequestTemplate { } httpRequest.setResponseType(responseType); try (CloseableHttpResponse response = getHttpClient().execute(httpRequest)) { - return httpRequest.handleResponse(response); + return httpRequest.handleResponse(response); }catch (IOException e){ - throw new PayErrorException(new PayException("IOException", e.getLocalizedMessage())); + throw new PayErrorException(new PayException("IOException", e.getLocalizedMessage())); }finally { httpRequest.releaseConnection(); } @@ -368,6 +372,6 @@ public class HttpRequestTemplate { * @return 类型对象 */ public T doExecute(String uri, Object request, Class responseType, MethodType method){ - return doExecute(URI.create(uri), request, responseType, method); + return doExecute(URI.create(uri), request, responseType, method); } } diff --git a/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java b/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java index 2c67b2c..fdbfde6 100644 --- a/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java +++ b/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java @@ -21,7 +21,7 @@ import java.util.*; * create 2017 2017/1/16 0016 * */ -public class FuiouPayService extends BasePayService { +public class FuiouPayService extends BasePayService { /** * 正式域名 diff --git a/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/AdvancedPayService.java b/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/AdvancedPayService.java index 76c3a0e..bd04eff 100644 --- a/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/AdvancedPayService.java +++ b/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/AdvancedPayService.java @@ -16,7 +16,7 @@ import java.util.Map; * */ -public interface AdvancedPayService extends PayService { +public interface AdvancedPayService extends PayService { /** * 获取授权页面 * @param payeeId 用户id diff --git a/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java b/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java index f0f2de8..4d61b73 100644 --- a/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java +++ b/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java @@ -33,7 +33,7 @@ import java.util.*; * create 2018-01-19 * */ -public class PayoneerPayService extends BasePayService implements AdvancedPayService { +public class PayoneerPayService extends BasePayService implements AdvancedPayService { /** * 测试地址 */ diff --git a/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java b/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java index 6519c9d..b94f887 100644 --- a/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java +++ b/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java @@ -29,7 +29,7 @@ import java.util.concurrent.locks.Lock; * email egzosn@gmail.com * date 2018-4-8 ‏‎22:15:09 */ -public class PayPalPayService extends BasePayService{ +public class PayPalPayService extends BasePayService{ /** * 沙箱环境 diff --git a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java index 0637aa1..90aaad6 100644 --- a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java +++ b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java @@ -38,7 +38,7 @@ import java.util.*; * create 2017 2017/11/5 * */ -public class UnionPayService extends BasePayService { +public class UnionPayService extends BasePayService { /** * 测试域名 */ diff --git a/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java b/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java index 7134cfb..2d7775f 100644 --- a/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java +++ b/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java @@ -27,7 +27,7 @@ import java.util.concurrent.locks.Lock; * email egzosn@gmail.com * date 2017/01/12 22:58 */ -public class WxYouDianPayService extends BasePayService { +public class WxYouDianPayService extends BasePayService { private final static String URL = "http://life.51youdian.com/Api/CheckoutCounter/"; diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java index 9368a2f..5027d82 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java @@ -36,7 +36,7 @@ import static com.egzosn.pay.wx.bean.WxTransferType.*; * date 2016-5-18 14:09:01 * */ -public class WxPayService extends BasePayService { +public class WxPayService extends BasePayService { /** diff --git a/pay-java-yiji/src/main/java/com/egzosn/pay/yiji/api/YiJiPayService.java b/pay-java-yiji/src/main/java/com/egzosn/pay/yiji/api/YiJiPayService.java index 911c9a2..cece47f 100644 --- a/pay-java-yiji/src/main/java/com/egzosn/pay/yiji/api/YiJiPayService.java +++ b/pay-java-yiji/src/main/java/com/egzosn/pay/yiji/api/YiJiPayService.java @@ -27,7 +27,7 @@ import java.util.TreeMap; * email egzosn@gmail.com * * date 2019/04/15 22:51 */ -public class YiJiPayService extends BasePayService { +public class YiJiPayService extends BasePayService { /** * 正式测试环境