diff --git a/README.md b/README.md
index 40cdb3f..9c4c785 100644
--- a/README.md
+++ b/README.md
@@ -33,9 +33,10 @@
* 码云:https://gitee.com/egzosn/pay-spring-boot-starter-parent
* GitHub:https://github.com/egzosn/pay-spring-boot-starter-parent
-### 使用
-这里不多说直接上代码
-
+##### 开源中国项目地址
+如果你觉得项目对你有帮助,也点击下进入后点击收藏呗
+* 基础支付聚合组件[pay-java-parent](https://www.oschina.net/p/pay-java-parent)
+* spring-boot-starter自动化配置支付聚合组件 [pay-spring-boot-starter](https://www.oschina.net/p/spring-boot-starter-pay)
###### 支付教程
diff --git a/pay-java-ali/pom.xml b/pay-java-ali/pom.xml
index 30ae700..2683373 100644
--- a/pay-java-ali/pom.xml
+++ b/pay-java-ali/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
pay-java-ali
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 6c23d92..9af574d 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
@@ -67,6 +67,7 @@ public class AliPayService extends BasePayService {
*
* @return 请求地址
*/
+ @Override
public String getReqUrl(TransactionType transactionType) {
return payConfigStorage.isTest() ? DEV_REQ_URL : HTTPS_REQ_URL;
}
@@ -214,7 +215,6 @@ public class AliPayService extends BasePayService {
case APP:
bizContent.put(PASSBACK_PARAMS, order.getAddition());
bizContent.put(PRODUCT_CODE, "QUICK_MSECURITY_PAY");
- orderInfo.put(RETURN_URL, payConfigStorage.getReturnUrl());
break;
case BAR_CODE:
case WAVE_CODE:
@@ -228,7 +228,8 @@ public class AliPayService extends BasePayService {
bizContent.put("timeout_express", DateUtils.minutesRemaining(order.getExpirationTime()) + "m");
}
orderInfo.put(BIZ_CONTENT, JSON.toJSONString(bizContent));
- return orderInfo;
+
+ return preOrderHandler(orderInfo, order);
}
/**
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 d1f4b37..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
@@ -153,7 +153,7 @@ public class AliPayService extends BasePayService {
@Override
public Map orderInfo(PayOrder order) {
- Map orderInfo = getOrder(order);
+ Map orderInfo = getOrder(order);
String sign = null;
if (AliTransactionType.APP == order.getTransactionType() ){
@@ -233,7 +233,7 @@ public class AliPayService extends BasePayService {
// 支付宝处理完请求后,当前页面跳转到商户指定页面的路径,可空
orderInfo.put("return_url", payConfigStorage.getReturnUrl());
- return orderInfo;
+ return preOrderHandler(orderInfo, order);
}
diff --git a/pay-java-common/pom.xml b/pay-java-common/pom.xml
index fad81d5..ea25260 100644
--- a/pay-java-common/pom.xml
+++ b/pay-java-common/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
jar
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 509a2f3..53d5c90 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
@@ -454,4 +454,17 @@ public abstract class BasePayService implements Pay
public PayMessage createMessage(Map message) {
return new PayMessage(message);
}
+
+ /**
+ * 预订单回调处理器,用于订单信息的扩展
+ * 签名之前使用
+ * 如果需要进行扩展请重写该方法即可
+ * @param orderInfo 预订单信息
+ * @param orderInfo 订单信息
+ * @return 处理后订单信息
+ */
+ public Map preOrderHandler(Map orderInfo, PayOrder payOrder){
+ return orderInfo;
+ }
+
}
diff --git a/pay-java-demo/pom.xml b/pay-java-demo/pom.xml
index d21f59e..1f47a60 100644
--- a/pay-java-demo/pom.xml
+++ b/pay-java-demo/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
war
diff --git a/pay-java-fuiou/pom.xml b/pay-java-fuiou/pom.xml
index a51c075..15c9e85 100644
--- a/pay-java-fuiou/pom.xml
+++ b/pay-java-fuiou/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
pay-java-fuiou
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 b5109dd..d297c9d 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
@@ -62,6 +62,7 @@ public class FuiouPayService extends BasePayService {
* 获取对应的请求地址
* @return 请求地址
*/
+ @Override
public String getReqUrl(TransactionType transactionType){
return payConfigStorage.isTest() ? DEV_URL_FUIOU_BASE_DOMAIN : URL_FUIOU_BASE_DOMAIN;
}
@@ -152,7 +153,7 @@ public class FuiouPayService extends BasePayService {
*/
@Override
public Map orderInfo(PayOrder order) {
- LinkedHashMap parameters = getOrderInfo(order);
+ Map parameters = getOrderInfo(order);
String sign = createSign(SignUtils.parameters2MD5Str(parameters, "|"), payConfigStorage.getInputCharset());
parameters.put("md5", sign);
return parameters;
@@ -163,7 +164,7 @@ public class FuiouPayService extends BasePayService {
* @param order 支付订单
* @return 返回支付请求参数集合
*/
- private LinkedHashMap getOrderInfo(PayOrder order) {
+ private Map getOrderInfo(PayOrder order) {
LinkedHashMap parameters = new LinkedHashMap();
//商户代码
parameters.put("mchnt_cd", payConfigStorage.getPid());
@@ -195,7 +196,7 @@ public class FuiouPayService extends BasePayService {
parameters.put("rem", "");
//版本号
parameters.put("ver", "1.0.1");
- return parameters;
+ return preOrderHandler(parameters, order);
}
/**
diff --git a/pay-java-payoneer/pom.xml b/pay-java-payoneer/pom.xml
index c9c4936..e8a7e2e 100644
--- a/pay-java-payoneer/pom.xml
+++ b/pay-java-payoneer/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
pay-java-payoneer
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 c83766f..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
@@ -185,7 +185,7 @@ public class PayoneerPayService extends BasePayService im
params.put("currency", order.getCurType());
params.put("description", order.getSubject());
- return params;
+ return preOrderHandler(params, order);
}
/**
diff --git a/pay-java-paypal/pom.xml b/pay-java-paypal/pom.xml
index bd05591..3cdb33f 100644
--- a/pay-java-paypal/pom.xml
+++ b/pay-java-paypal/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
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 eeec14f..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
@@ -44,6 +44,7 @@ public class PayPalPayService extends BasePayService{
* 获取对应的请求地址
* @return 请求地址
*/
+ @Override
public String getReqUrl(TransactionType transactionType){
return (payConfigStorage.isTest() ? SANDBOX_REQ_URL : REQ_URL) + transactionType.getMethod();
}
@@ -182,7 +183,7 @@ public class PayPalPayService extends BasePayService{
if ("created".equals(resp.getString("state")) && StringUtils.isNotEmpty(resp.getString("id"))){
order.setOutTradeNo(resp.getString("id"));
}
- return resp;
+ return preOrderHandler(resp, order);
}
@Override
diff --git a/pay-java-union/pom.xml b/pay-java-union/pom.xml
index a477d65..6310983 100644
--- a/pay-java-union/pom.xml
+++ b/pay-java-union/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
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 c7e0f2e..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
@@ -288,7 +288,7 @@ public class UnionPayService extends BasePayService {
params.put(SDKConstants.param_payTimeout, getPayTimeout(order.getExpirationTime()));
params.put("orderDesc", order.getSubject());
}
-
+ params = preOrderHandler(params, order);
return setSign(params);
}
diff --git a/pay-java-wx-youdian/pom.xml b/pay-java-wx-youdian/pom.xml
index 5d95127..610977d 100644
--- a/pay-java-wx-youdian/pom.xml
+++ b/pay-java-wx-youdian/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
pay-java-wx-youdian
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 c77dd23..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
@@ -224,9 +224,10 @@ public class WxYouDianPayService extends BasePayService data = new TreeMap<>();
+ Map data = new TreeMap<>();
data.put("access_token", getAccessToken());
data.put("paymoney", Util.conversionAmount(order.getPrice()).toString());
+ data = preOrderHandler(data, order);
String apbNonce = SignUtils.randomStr();
String sign = createSign(SignUtils.parameterText(data, "") + apbNonce, payConfigStorage.getInputCharset());
data.put("PayMoney", data.remove("paymoney"));
@@ -460,6 +461,7 @@ public class WxYouDianPayService extends BasePayService
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
pay-java-wx
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 8f984c5..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
@@ -101,6 +101,7 @@ public class WxPayService extends BasePayService {
* @param transactionType 交易类型
* @return 请求url
*/
+ @Override
public String getReqUrl(TransactionType transactionType) {
return URI + (payConfigStorage.isTest() ? SANDBOXNEW : "") + transactionType.getMethod();
@@ -221,13 +222,14 @@ public class WxPayService extends BasePayService {
parameters.put("time_expire", DateUtils.formatDate(order.getExpirationTime(), DateUtils.YYYYMMDDHHMMSS));
}
((WxTransactionType) order.getTransactionType()).setAttribute(parameters, order);
-
+ parameters = preOrderHandler(parameters, order);
setSign(parameters);
String requestXML = XML.getMap2Xml(parameters);
if (LOG.isDebugEnabled()) {
LOG.debug("requestXML:" + requestXML);
}
+
//调起支付的参数列表
JSONObject result = requestTemplate.postForObject(getReqUrl(order.getTransactionType()), requestXML, JSONObject.class);
@@ -250,15 +252,14 @@ public class WxPayService extends BasePayService {
////统一下单
JSONObject result = unifiedOrder(order);
-
// 对微信返回的数据进行校验
- if (verify(result)) {
+ if (verify(preOrderHandler(result, order))) {
//如果是扫码支付或者刷卡付无需处理,直接返回
if (((WxTransactionType) order.getTransactionType()).isReturn()) {
return result;
}
- SortedMap params = new TreeMap();
+ Map params = new TreeMap();
if (WxTransactionType.JSAPI == order.getTransactionType()) {
params.put("signType", payConfigStorage.getSignType());
@@ -274,6 +275,7 @@ public class WxPayService extends BasePayService {
params.put("noncestr", result.get(NONCE_STR));
params.put("package", "Sign=WXPay");
}
+ params = preOrderHandler(params, order);
String paySign = createSign(SignUtils.parameterText(params), payConfigStorage.getInputCharset());
params.put(SIGN, paySign);
return params;
diff --git a/pay-java-yiji/pom.xml b/pay-java-yiji/pom.xml
index fb5987b..7ecd98b 100644
--- a/pay-java-yiji/pom.xml
+++ b/pay-java-yiji/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- 2.12.8
+ 2.12.9-SNAPSHOT
4.0.0
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 4ea2fa4..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
@@ -53,6 +53,7 @@ public class YiJiPayService extends BasePayService {
*
* @return 请求地址
*/
+ @Override
public String getReqUrl(TransactionType transactionType) {
if (payConfigStorage.isTest()){
return DEV_REQ_URL;
@@ -175,7 +176,7 @@ public class YiJiPayService extends BasePayService {
orderInfo.put("currency", order.getCurType());
}
- return orderInfo;
+ return preOrderHandler(orderInfo, order);
}
/**
diff --git a/pom.xml b/pom.xml
index 50c0ce6..689af9a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
com.egzosn
pay-java-parent
pom
- 2.12.8
+ 2.12.9-SNAPSHOT
Pay Java - Parent
Pay Java Parent
@@ -58,7 +58,7 @@
- 2.12.8
+ 2.12.9-SNAPSHOT
4.5.4
1.2.17
1.2.58
@@ -166,6 +166,7 @@
org.apache.maven.plugins
maven-source-plugin
+ 3.1.0
attach-sources