extends HttpEntityEnclosingRequestBase impleme
}
+
@Override
public T handleResponse(HttpResponse response) throws ClientProtocolException, IOException {
final StatusLine statusLine = response.getStatusLine();
diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/dao/ApyAccountRepository.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/dao/ApyAccountRepository.java
index a294e70..1d59f06 100644
--- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/dao/ApyAccountRepository.java
+++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/dao/ApyAccountRepository.java
@@ -48,18 +48,21 @@ public class ApyAccountRepository {
ApyAccount apyAccount2 = new ApyAccount();
apyAccount2.setPayId(2);
- apyAccount2.setPartner("208******978307");
- apyAccount2.setAppid("201*******73474");
- apyAccount2.setPublicKey("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ*********VGi60j8Ue1efIlzPXV9je9Hf8sxHi/fEsraprwCtzvzQETrNRwVxLO5jVmR");
- apyAccount2.setPrivateKey("MIICdwIBADANm**********Zpmz2oK8dAxH/iqyqxb4r9IODsMgzziNBgkqhkiG9w0BAQEFAASCAcmBhTDnqQZE0jeJ9yTAemSqJefIMHBTG+MvONrWg");
- apyAccount2.setNotifyUrl("http://pay.egan.in/payBack2.json");
- // 无需同步回调可不填 app填这个就可以
- apyAccount2.setReturnUrl("m.alipay.com");
- apyAccount2.setSeller("egzosn@gmail.com");
+ apyAccount2.setPartner("2088102169916436");
+ apyAccount2.setAppid("2016080400165436");
+ // TODO 2017/2/9 16:20 author: egan sign_type只有单一key时public_key与private_key相等,比如sign_type=MD5的情况
+ apyAccount2.setPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtIlhP1ju6g7fMIcp5cR+v7bk7RUI+irR3HUm0en39K/UnGByAulGFLZU9//IwIu3xCTfGkRHWV8v9iMJhNmxWqbxwehblTCl4f4uEDz9nECc1QzOesGPx6nMsbAx8+3j/Z2p1OCk+Gszs/nUBEjVY/l8NOQoE5kENyWl0WBTFPPONWm8V02YO8dNx0u29egh0dk17OeS+i5G0F+OY7xWnfjSrOqPYAtoo9ccEQUIbhiWz5X3TqmkzjNL3JojsvrymLym97z0COYfl1RlP8tqYhNKLM0FmVndRfcO9HgTx1mO4tj2hsDZN/AnAb3vULaMlESxIg+i6yUBpEOiwj+zLQIDAQAB");
+ apyAccount2.setPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCKA8XdHGExkLnb2Z3mF+6HQUorznXT0XE0GDiRtR+bIM/lE1o6UvAi2vSL5VT1Ob2+yzaSB2zDbfZJrzWcWveU8emN/xVd/yodUbzWnSQkI0k7suLeZDDCcxjT3g5JFSbcWmUec+OFt4n3Ymvrz0rriXfMV4MYlAmru+2UpiyA18SPXUiWWtHXhM4mJ5qAK6Xy2Xpg8fbqcbBLnV5GMipzno2VU0K1WKSe0qhOjPN7vvyZcRXRo5HGd76/Dhc/LhWgM/Ff2oaqQWhSo0tj33/2xmOLxueZaJw5Tx6sBxaBpIaX1huASmeFNgRNb1hSUwbVqkJKuvyEMQvTcz+9wqd9AgMBAAECggEAbtec33ndbUtImZLqx1LNFP+QrCICa324JxiUxiDrI1F05gtm2ZSmm7ex03D5jIE1LLhUOW+RIFt+A6udqNc+I/ctlgcZiAZYMnfk65AE6KkWNcXzgpyAtIpvlCiw3G0KasqGj7CPOGMxgOcguaAgEY60Ef7uoJy0L6KcqlfTQh3X26lHSyduTT/eFQmGstNnfZSnoSgdWoGYJcYwxeI/FZM/AF+qQxqurrB/MWihA+41dko2s+pG/gsnv3JtPiU7uxmzIhkKKo34bNgne6YtLibzamSe2RQNnqRykasrKEibtrUtFoyyzHRhUEjhW4la9je0H3weeyEIqYYrwq3kmQKBgQDUpKh2rmj54ovN7YAk0RkFj495od7IKN4EXRfjeiZHVrsJ97LNzYh2ldh8LRuHOGNP1jI5lBA6UL+VdjObtAiP0a3i5mLgREQ6vU4aQVEgVXiFTiFpgiwURHk3uX7S7DiOolvChmO9UTR91vaATMsTo4/uBLAkC0tQhxLrP/LAIwKBgQCmJ7tBQ9PgKeZCVcfEJQTSUwYeQD+TozjmkBCyn4S6U3pntZAj9XTUVKRiu1pvRCZZ8xjSHQ+xut8wcO4cBCUxSslDWD84HAAj5Aae80Ws7vBq6gS9G3ko1kVxLOOfA/74rB49BUEOcx9P6E2MWVSYhvtzyPvYi0PvLDQGRx2j3wKBgCRzPTVq3C/Jd7GK/qZQ+XsMismMx8WDy9rvokKqE5my8kjZHttMWhIJyZwvl0Jslgl/bAiWqtl0MgMKyfnsuHL+vFHisBxFV3TCMnspqyBhxlEDfZK6b5fhzO2SbHz3ZRJ+HkCQDNTM8LSJfqOrhjwNk4R3ZUIodXaOUN3mjlQFAoGASUJ7betaIBxZSiZITlOELLgummf5oD73d7FNq3RqMT1dWxzS0QgI2xX25RF2bli+ECr/ZqUpplOe1Nz2H6Q0QeeXlfny5epypWCFCtB4iCdSGdHVBQx3/2l6dMw2EIbShRJewsjuRlC8HZ9vkdJRWm8pr4OOh4vgCDSVO69fgkECgYEA0sjX815xMCwO1PDf+7/DNfJ5a2bYdMkVRe6y6a/Dzf83bJDdYZsOKlmSim49kPKEYU9MAT6Mst0Et9GpbzYDIZ4wj6aL01ckYvI42nhn2iylzYz+rOsg8mircFVcwiOh27BoNm8xpMFNzaY743gn37B8n3PaFboXWMO96y2rl8k=");
+ apyAccount2.setNotifyUrl("http://pay.egan.in/payBack1.json");
+ // 无需同步回调可不填
+ apyAccount2.setReturnUrl("http://192.168.1.58:9096/payBack2.json");
apyAccount2.setInputCharset("UTF-8");
+ apyAccount2.setSeller("2088102169916436");
apyAccount2.setSignType(SignUtils.RSA2.name());
apyAccount2.setPayType(PayType.aliPay);
apyAccount2.setMsgType(MsgType.text);
+ //设置测试环境
+ apyAccount2.setTest(true);
apyAccounts.put(apyAccount2.getPayId(), apyAccount2);
ApyAccount apyAccount3 = new ApyAccount();
diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/PayResponse.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/PayResponse.java
index dc3391a..e556fa1 100644
--- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/PayResponse.java
+++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/service/PayResponse.java
@@ -64,17 +64,17 @@ public class PayResponse {
*/
public HttpConfigStorage getHttpConfigStorage(ApyAccount apyAccount){
HttpConfigStorage httpConfigStorage = new HttpConfigStorage();
- /*
- //http代理地址
- httpConfigStorage.setHttpProxyHost("192.168.1.69");
- //代理端口
- httpConfigStorage.setHttpProxyPort(3308);
- //代理用户名
- httpConfigStorage.setHttpProxyUsername("user");
- //代理密码
- httpConfigStorage.setHttpProxyPassword("password");
+ /* 网路代理配置 根据需求进行设置*/
+// //http代理地址
+// httpConfigStorage.setHttpProxyHost("192.168.1.69");
+// //代理端口
+// httpConfigStorage.setHttpProxyPort(3308);
+// //代理用户名
+// httpConfigStorage.setHttpProxyUsername("user");
+// //代理密码
+// httpConfigStorage.setHttpProxyPassword("password");
+
- */
//设置ssl证书路径
httpConfigStorage.setKeystorePath(apyAccount.getKeystorePath());
//设置ssl证书对应的密码
diff --git a/pay-java-union/pom.xml b/pay-java-union/pom.xml
new file mode 100644
index 0000000..ea9810e
--- /dev/null
+++ b/pay-java-union/pom.xml
@@ -0,0 +1,24 @@
+
+
+
+ pay-java-parent
+ com.egzosn
+ 2.0.4-SNAPSHOT
+
+ 4.0.0
+
+ pay-java-union
+
+
+
+
+
+ com.egzosn
+ pay-java-common
+
+
+
+
+
\ No newline at end of file
diff --git a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayConfigStorage.java b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayConfigStorage.java
new file mode 100644
index 0000000..0b847ee
--- /dev/null
+++ b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayConfigStorage.java
@@ -0,0 +1,85 @@
+package com.egzosn.pay.union.api;
+
+import com.egzosn.pay.common.api.BasePayConfigStorage;
+
+/**
+ * 支付客户端配置存储
+ * author egan
+ *
+ * email egzosn@gmail.com
+ * date 2016-5-18 14:09:01
+ */
+public class UnionPayConfigStorage extends BasePayConfigStorage {
+
+ // 商户PID
+ public volatile String merId ;
+ // 商户签约拿到的pid,partner_id的简称,合作伙伴身份等同于 partner
+ public volatile String pid ;
+ //partner_id的简称,合作伙伴身份
+// public volatile String partner ;
+
+ // 商户收款账号
+ public volatile String seller;
+ //公钥
+ private volatile String aliPublicKey;
+ //全渠道固定值
+ public static String version = "5.0.0";
+
+ public String getAliPublicKey() {
+ return aliPublicKey;
+ }
+
+ public void setAliPublicKey(String aliPublicKey) {
+ setKeyPublic(aliPublicKey);
+ this.aliPublicKey = aliPublicKey;
+ }
+
+
+
+ @Override
+ public String getAppid() {
+ return null;
+ }
+
+ /**
+ * @see #getPid()
+ * @return 合作者id
+ */
+ @Deprecated
+ @Override
+ public String getPartner() {
+ return pid;
+ }
+
+
+ /**
+ * 设置合作者id
+ * @see #setPid(String)
+ * @param partner 合作者id
+ */
+ @Deprecated
+ public void setPartner(String partner) {
+ this.pid = partner;
+ }
+
+ @Override
+ public String getPid() {
+ return pid;
+ }
+
+ public void setPid(String pid) {
+ this.pid = pid;
+ }
+
+ public String getSeller() {
+ return seller;
+ }
+
+ public void setSeller(String seller) {
+ this.seller = seller;
+ }
+
+
+
+
+}
diff --git a/pay-java-wx/README.md b/pay-java-wx/README.md
index 092e31d..eccad0f 100644
--- a/pay-java-wx/README.md
+++ b/pay-java-wx/README.md
@@ -20,14 +20,41 @@
```
+#### 网络请求配置
+
+```java
+
+ HttpConfigStorage httpConfigStorage = new HttpConfigStorage();
+ /* 网路代理配置 根据需求进行设置**/
+ //http代理地址
+ httpConfigStorage.setHttpProxyHost("192.168.1.69");
+ //代理端口
+ httpConfigStorage.setHttpProxyPort(3308);
+ //代理用户名
+ httpConfigStorage.setHttpProxyUsername("user");
+ //代理密码
+ httpConfigStorage.setHttpProxyPassword("password");
+ /* /网路代理配置 根据需求进行设置**/
+
+ /* 网络请求ssl证书 根据需求进行设置**/
+ //设置ssl证书路径
+ httpConfigStorage.setKeystorePath("证书绝对路径");
+ //设置ssl证书对应的密码
+ httpConfigStorage.setStorePassword("证书对应的密码");
+ /* /网络请求ssl证书**/
+
+```
####创建支付服务
-```java
+```java
//支付服务
PayService service = new WxPayService(wxPayConfigStorage);
+ //设置网络请求配置根据需求进行设置
+ //service.setRequestTemplateConfigStorage(httpConfigStorage)
+
```
####创建支付订单信息
diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayConfigStorage.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayConfigStorage.java
index bac1615..a4afd52 100644
--- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayConfigStorage.java
+++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayConfigStorage.java
@@ -3,7 +3,7 @@ package com.egzosn.pay.wx.api;
import com.egzosn.pay.common.api.BasePayConfigStorage;
/**
- * 支付客户端配置存储
+ * 微信配置存储
* @author egan
*
*
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 41d03de..58a6c0e 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
@@ -24,7 +24,7 @@ import java.text.SimpleDateFormat;
import java.util.*;
/**
- * 支付宝支付通知
+ * 微信支付服务
* @author egan
*
* email egzosn@gmail.com
@@ -320,7 +320,6 @@ public class WxPayService extends BasePayService {
/**
* 获取输出二维码,用户返回给支付端,
- * 暂未实现或无此功能
* @param order 发起支付的订单信息
* @return 返回图片信息,支付时需要的
*/
diff --git a/pom.xml b/pom.xml
index a53b228..7f6889d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,6 +44,7 @@
pay-java-wx-youdian
pay-java-fuiou
pay-java-demo
+ pay-java-union