之前因为有在做别的项目,银联的合同也没签完所以就放下了。这俩天又开始弄了,我们要集成到我们自己的项目中,中间遇到一个问题,就是导包的问题,后来看了同事才解决掉。我就记录一下做的过程,下次直接来看了。
1.首先我们需要导入jar包,对比我们的项目我需要导入红线的三个jar包,别的我们都有。
但是看到同事又加了这个,我也不知道为啥。。。
2.在web.xml中加入是为了我们在开启项目的时候就加载这个银联的秘钥证书这些。。
<servlet>
<servlet-name>AutoLoadServlet</servlet-name>
<servlet-class>com.cn.service.face.unionpay.acp.web.AutoLoadServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
3.在d盘建一个serts或者certs都可以,里面放上从demo上取来的证书
4.最开始的时候到这步时我就直接导入银联的jdk了,但是一直报错jboss Java.lang.SecurityException: JCE cannot authenticate the provider BC
后来看同事的是在jboss里添加了,是因为我们加载bcprov-jdk16-1.46.jar是,他好像是做了加密处理我们导不进来,这就可以了
5.现在我们就可以直接导入银联的jdk的公共方法,
只是修改了demoBase里的地址,(这里可以是页面,也可以是demo中的servlet)
6.写了一个face方便我们在页面的时候调用,这些参数是不变的,
7.那我们现在在页面上写一个支付的地方加上一个a标签,我这边是因为有好多支付,只需要传一个支付id,订单号去后台查这个id对应的支付类型(当然我们已经在数据库中添加了这个银联支付的记录,根据这个id我们就能查到相应的支付信息)
8.我们找到对应的action去和数据库当中的名字对比一下,直接就跳到相应的页面。
9.这个页面就是去给银联发送信息,调用银联的支付接口,商户号写自己申请的。
到现在就可以开启项目点击去支付啦。。。。。