Authored by Lixiaodi

Merge branch 'test6.9.8' of http://git.yoho.cn/ufo/yohoufo-fore into test6.9.8

... ... @@ -88,7 +88,7 @@ public class PaymentController {
logger.info("method com.yohoufo.order.controller.PaymentController.pay in, request is {}", request);
PrepayResponse paymentResponse = paymentService.payment(request);
PrepayResponse paymentResponse = paymentService.payment(request);
if (paymentResponse.getPrepayResult() == PrepayResponse.FAILED){
return new ApiResponse.ApiResponseBuilder().code(PrepayResponse.FAILED).data(paymentResponse.getJsonObj()).message("预支付失败").build();
}else{
... ...
... ... @@ -17,18 +17,18 @@ import java.util.regex.Pattern;
public class AcpService {
/**
* 请求报文签名(使用配置文件中配置的私钥证书加密)<br>
* 功能:对请求报文进行签名,并计算赋值certid,signature字段并返回<br>
* @param reqData 请求报文map<br>
* @param encoding 上送请求报文域encoding字段的值<br>
* @return 签名后的map对象<br>
*/
public static Map<String, String> sign(Map<String, String> reqData,String encoding) {
Map<String, String> submitData = SDKUtil.filterBlank(reqData);
SDKUtil.sign(submitData, encoding);
return submitData;
}
// * 请求报文签名(使用配置文件中配置的私钥证书加密)<br>
// * 功能:对请求报文进行签名,并计算赋值certid,signature字段并返回<br>
// * @param reqData 请求报文map<br>
// * @param encoding 上送请求报文域encoding字段的值<br>
// * @return 签名后的map对象<br>
// */
// public static Map<String, String> sign(Map<String, String> reqData,String encoding) {
// Map<String, String> submitData = SDKUtil.filterBlank(reqData);
// SDKUtil.sign(submitData, encoding);
// return submitData;
// }
//
/**
* 多证书签名(通过传入私钥证书路径和密码加密)<br>
* 功能:如果有多个商户号接入银联,每个商户号对应不同的证书可以使用此方法:传入私钥证书和密码(并且在acp_sdk.properties中 配置 acpsdk.singleMode=false)<br>
... ... @@ -126,13 +126,11 @@ public class AcpService {
/**
* 功能:后台交易提交请求报文并接收同步应答报文<br>
* @param reqData 请求报文<br>
* @param rspData 应答报文<br>
* @param reqUrl 请求地址<br>
* @param encoding<br>
* @return 应答http 200返回true ,其他false<br>
*/
public static Map<String,String> post(
Map<String, String> reqData,String reqUrl,String encoding) {
public static Map<String,String> post(Map<String, String> reqData,String reqUrl,String encoding) {
Map<String, String> rspData = new HashMap<String,String>();
LogUtil.writeLog("请求银联地址:" + reqUrl);
//发送后台请求数据
... ... @@ -156,31 +154,31 @@ public class AcpService {
}
/**
* 功能:http Get方法 便民缴费产品中使用<br>
* @param reqUrl
* @param encoding
* @return
*/
public static String get(String reqUrl,String encoding) {
LogUtil.writeLog("请求银联地址:" + reqUrl);
//发送后台请求数据
HttpClient hc = new HttpClient(reqUrl, 30000, 30000);
try {
int status = hc.sendGet(encoding);
if (200 == status) {
String resultString = hc.getResult();
if (null != resultString && !"".equals(resultString)) {
return resultString;
}
}else{
LogUtil.writeLog("返回http状态码["+status+"],请检查请求报文或者请求地址是否正确");
}
} catch (Exception e) {
LogUtil.writeErrorLog(e.getMessage(), e);
}
return null;
}
// * 功能:http Get方法 便民缴费产品中使用<br>
// * @param reqUrl
// * @param encoding
// * @return
// */
// public static String get(String reqUrl,String encoding) {
//
// LogUtil.writeLog("请求银联地址:" + reqUrl);
// //发送后台请求数据
// HttpClient hc = new HttpClient(reqUrl, 30000, 30000);
// try {
// int status = hc.sendGet(encoding);
// if (200 == status) {
// String resultString = hc.getResult();
// if (null != resultString && !"".equals(resultString)) {
// return resultString;
// }
// }else{
// LogUtil.writeLog("返回http状态码["+status+"],请检查请求报文或者请求地址是否正确");
// }
// } catch (Exception e) {
// LogUtil.writeErrorLog(e.getMessage(), e);
// }
// return null;
// }
/**
... ...
######SDK config (product env) cert, addr#####
######(PM env:for testing)#######
##
#acpsdk.frontTransUrl=https://101.231.204.80:5000/gateway/api/frontTransReq.do
##
#acpsdk.backTransUrl=https://101.231.204.80:5000/gateway/api/backTransReq.do
## with card
#acpsdk.backTransUrl=https://101.231.204.80:5000/gateway/api/cardTransReq.do
##
#acpsdk.singleQueryUrl=https://101.231.204.80:5000/gateway/api/queryTrans.do
##
#acpsdk.batchTransUrl=https://101.231.204.80:5000/gateway/api/batchTransReq.do
##
#acpsdk.fileTransUrl=https://101.231.204.80:9080/
## app trans
#acpsdk.appTransUrl=https://101.231.204.80:5000/gateway/api/appTransReq.do
#acpsdk.appTransUrl=${acpsdk.appTransUrl}
########################## product #############################
######SDK配置文件 (生产环境) 证书,请求地址配置#####
##########################生产环境交易发送地址#############################
##前台交易请求地址
#acpsdk.frontTransUrl=https://gateway.95516.com/gateway/api/frontTransReq.do
##后台交易请求地址
#acpsdk.backTransUrl=https://gateway.95516.com/gateway/api/backTransReq.do
#acpsdk.singleQueryUrl=https://gateway.95516.com/gateway/api/queryTrans.do
##交易状态查询请求地址
acpsdk.singleQueryUrl=https://gateway.95516.com/gateway/api/queryTrans.do
##批量交易请求地址
#acpsdk.batchTransUrl=https://gateway.95516.com/gateway/api/batchTransReq.do
##文件传输类交易地址(对账文件下载接口)
#acpsdk.fileTransUrl=https://filedownload.95516.com/
acpsdk.appTransUrl=https://gateway.95516.com/gateway/api/appTransReq.do
######################### certs ################################
#########################生产测试环境签名证书配置 ################################
##签名证书路径,必须使用绝对路径,如果不想使用绝对路径,可以自行实现相对路径获取证书的方法
#私钥证书是从入网通知邮件中获取两码,并从cfca官网下载到浏览器中然后导出来的,请配置到acpsdk.signCert.path指定的值下,不要忘记了将私钥传到merchant.unionpay.com并启用。
acpsdk.signCert.path=
#acpsdk.signCert.path=/var/lib/tomcat/webapps/payment/WEB-INF/classes/certs/PM_700000000000001_acp.pfx
#acpsdk.signCert.path=/Users/ming/source/certs/pc_online_banking.pfx
#acpsdk.signCert.path=/Users/ming/source/certs/PM_700000000000001_acp.pfx
#linux下(注意:在linux下读取证书需要保证证书有被应用读的权限)
#acpsdk.signCert.path=/SERVICE01/usr/ac_frnas/conf/ACPtest/\u4ececfca\u4e0b\u8f7d\u7684\u6b63\u5f0f\u8bc1\u4e66.pfx
##签名证书密码,请修改为从cfca下载的正式私钥证书设置的密码,密码位数需小于等于6位,否则上传到商户服务网站会失败
acpsdk.signCert.pwd=yohobuy
#acpsdk.signCert.pwd=000000
#acpsdk.signCert.pwd=${acpsdk.signCert.pwd}
##签名证书类型,固定不需要修改
acpsdk.signCert.type=PKCS12
#acpsdk.encryptCert.path=/Users/ming/source/certs/RSA2048_PROD_index_22.cer
# put acp_prod_verify_sign.cer into acpsdk.validateCert.dir
#windows
##########################验签证书配置################################
##验证签名证书目录,只配置到目录即可,必须使用绝对路径,如果不想使用绝对路径,可以自行实现相对路径获取证书的方法
#请将acp_prod_verify_sign.cer文件配置到acpsdk.validateCert.dir指定的目录下
#windows下
acpsdk.validateCert.dir=
#acpsdk.validateCert.dir=/Users/ming/source/certs/
#linux
#linux下(注意:在linux下读取证书需要保证证书有被应用读的权限)
#acpsdk.validateCert.dir=/SERVICE01/usr/ac_frnas/conf/ACPtest/
##是否启用多证书模式(true:单证书|false:多证书---没有配置此项时,默认为单证书模式)
acpsdk.singleMode=false
\ No newline at end of file
... ...