最近有个项目后台,既要实现前端网银充值,又要实现前端网银提现,而且商家的充值和提现所在的金额不在同一个账户;
中间发现一个重要的配置文件acp_sdk.properties这个配置文件放在外面的一些信息并没有什么用,而是jar包里面的配置文件才有效,辗转找到客服,这中间他们帮了很大的忙,如果有问题请一定找客服。
修改了jar内部的配置 即验证证书的路径,重新打包才恢复正常
#acpsdk.frontTransUrl=https://101.231.204.80:5000/gateway/api/frontTransReq.do
acpsdk.frontTransUrl=https://gateway.95516.com/gateway/api/frontTransReq.do
#acpsdk.appTransUrl=https\://101.231.204.80\:5000/gateway/api/appTransReq.do
acpsdk.appTransUrl=https://gateway.95516.com/gateway/api/appTransReq.do
#acpsdk.cardTransUrl=https\://101.231.204.80\:5000/gateway/api/cardTransReq.do
## app \u4ea4\u6613\u8bf7\u6c42\u5730\u5740
## acpsdk.appTransUrl=https://101.231.204.80:5000/gateway/api/appTransReq.do
##\u540e\u53f0\u4ea4\u6613\u8bf7\u6c42\u5730\u5740
#acpsdk.backTransUrl=https://gateway.95516.com/gateway/api/cardTransReq.do
acpsdk.backTransUrl=https://gateway.95516.com/gateway/api/backTransReq.do
##\u540e\u53f0\u4ea4\u6613\u8bf7\u6c42\u5730\u5740(\u82e5\u4e3a\u6709\u5361\u4ea4\u6613\u914d\u7f6e\u8be5\u5730\u5740)
#acpsdk.cardTransUrl=https://101.231.204.80:5000/gateway/api/cardTransReq.do
##\u5355\u7b14\u67e5\u8be2\u8bf7\u6c42\u5730\u5740
acpsdk.singleQueryUrl=https://gateway.95516.com/gateway/api/queryTrans.do
##\u6279\u91cf\u4ea4\u6613\u8bf7\u6c42\u5730\u5740
acpsdk.batchTransUrl=https://gateway.95516.com/gateway/api/batchTrans.do
##\u6587\u4ef6\u4f20\u8f93\u7c7b\u4ea4\u6613\u5730\u5740
acpsdk.fileTransUrl=https://filedownload.95516.com/
#########################\u7b7e\u540d\u8bc1\u4e66\u914d\u7f6e ################################
######(\u4ee5\u4e0b\u914d\u7f6e\u4e3aPM\u73af\u5883\uff1a\u5165\u7f51\u6d4b\u8bd5\u73af\u5883\u7528\uff0c\u751f\u4ea7\u73af\u5883\u914d\u7f6e\u89c1\u6587\u6863\u8bf4\u660e)#######
##\u7b7e\u540d\u8bc1\u4e66\u8def\u5f84
#acpsdk.signCert.path=tongchebang.pfx
#acpsdk.signCert.path=d:\\certs\\PRO_700000000000001_acp.pfx
##\u9a8c\u8bc1\u7b7e\u540d\u8bc1\u4e66\u76ee\u5f55
acpsdk.validateCert.dir=/home/apache-tomcat-7.0.61/webapps/specialVehicles
##\u7b7e\u540d\u8bc1\u4e66\u5bc6\u7801
#acpsdk.signCert.pwd=123456
##\u7b7e\u540d\u8bc1\u4e66\u7c7b\u578b
acpsdk.signCert.type=PKCS12
##########################\u52a0\u5bc6\u8bc1\u4e66\u914d\u7f6e################################
##\u5bc6\u7801\u52a0\u5bc6\u8bc1\u4e66\u8def\u5f84
##acpsdk.encryptCert.path=encrypt.cer
#acpsdk.encryptCert.path=d:\\certs\\encryptpub.cer
acpsdk.singleMode=false --------------多证书的设置
补充在开发过程中容易犯的几个错误:
1、金额结算以分为单位,所以传递给银联处理的时候,金额要变换成整数且不能有小数点 , 1.0都不行;
2、有的时候jar包里面的配置文件才是生效的,所以一定能有源码就看源码,跟进去看看,log.info()多打印些信息;
3、以前我认为别人给的jar一定就是可以跑通的,事实上不是的,不能太迷信jar;
在调试的时候还以为是linux环境不同导致的,把jdk 升级到一样的1.8 不行; tomcat都是7也没问题;对商户证书也有读的权限问题;
事实证明是这个jar 的问题 啊 废了我一天半的时间,紧张啊 正要交付代码换到生产上就死了,真是急死我了,upacp_sdk-1.0.0-20150324131412.jar
在使用银联支付的时候:
注意下面几个文件、
upoprsaCert.cer是公钥, xxx.pfx这是商户证书,根据银联客服发送的操作手册下载;
如果还有代付(pos机刷卡)的话,还要分是单证书和多证书的区别,单证书则是客户申请的时候明确要求,两种方式的配置demo不尽相同
我们的是多证书
具体的demo下载地址如下: