Merge remote-tracking branch 'origin/master'

This commit is contained in:
egzosn
2019-12-09 15:38:31 +08:00
35 changed files with 265 additions and 151 deletions

View File

@@ -26,7 +26,7 @@ import java.util.*;
* email egzosn@gmail.com
* date 2017-2-22 20:09
*/
public class AliPayService extends BasePayService<AliPayConfigStorage, PayOrder> {
public class AliPayService extends BasePayService<AliPayConfigStorage> {
/**
* 正式测试环境
@@ -200,7 +200,6 @@ public class AliPayService extends BasePayService<AliPayConfigStorage, PayOrder>
bizContent.put("total_amount", Util.conversionAmount(order.getPrice()).toString());
switch ((AliTransactionType) order.getTransactionType()) {
case PAGE:
case DIRECT:
bizContent.put(PASSBACK_PARAMS, order.getAddition());
bizContent.put(PRODUCT_CODE, "FAST_INSTANT_TRADE_PAY");
orderInfo.put(RETURN_URL, payConfigStorage.getReturnUrl());
@@ -272,6 +271,16 @@ public class AliPayService extends BasePayService<AliPayConfigStorage, PayOrder>
return PayOutMessage.TEXT().content("success").build();
}
@Override
public String toPay(PayOrder order) {
if (null == order.getTransactionType()) {
order.setTransactionType(AliTransactionType.PAGE);
} else if (order.getTransactionType() != AliTransactionType.PAGE && order.getTransactionType() != AliTransactionType.WAP) {
throw new PayErrorException(new PayException("-1", "错误的交易类型:" + order.getTransactionType()));
}
return super.toPay(order);
}
/**
* @param orderInfo 发起支付的订单信息
* @param method 请求方式 "post" "get",
@@ -301,6 +310,7 @@ public class AliPayService extends BasePayService<AliPayConfigStorage, PayOrder>
*/
@Override
public String getQrPay(PayOrder order){
order.setTransactionType(AliTransactionType.SWEEPPAY);
Map<String, Object> orderInfo = orderInfo(order);
//预订单
JSONObject result = getHttpRequestTemplate().postForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(orderInfo), null, JSONObject.class);
@@ -320,6 +330,12 @@ public class AliPayService extends BasePayService<AliPayConfigStorage, PayOrder>
*/
@Override
public Map<String, Object> microPay(PayOrder order) {
if (null == order.getTransactionType()){
order.setTransactionType(AliTransactionType.BAR_CODE);
}else if (order.getTransactionType() != AliTransactionType.BAR_CODE && order.getTransactionType() != AliTransactionType.WAVE_CODE && order.getTransactionType() != AliTransactionType.SECURITY_CODE){
throw new PayErrorException(new PayException("-1", "错误的交易类型:" + order.getTransactionType()));
}
Map<String, Object> orderInfo = orderInfo(order);
//预订单
JSONObject result = getHttpRequestTemplate().postForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(orderInfo), null, JSONObject.class);

View File

@@ -18,12 +18,7 @@ import com.egzosn.pay.common.bean.TransactionType;
* date 2016/10/19 22:58
*/
public enum AliTransactionType implements TransactionType {
/**
* 即时到帐
* 过时的名称,请换至 {@link #PAGE}
*/
@Deprecated
DIRECT("alipay.trade.page.pay"),
/**
* 网页支付
*/

View File

@@ -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<AliPayConfigStorage, PayOrder> {
public class AliPayService extends BasePayService<AliPayConfigStorage> {