交通银行支付开发备忘
下载并安装jdk1.5下载路径:http://download.csdn.net/download/zhldt2008/3604031(如果之前就安装过了,这步骤就可以省了)
1. 安装jdk与配置JDK环境变量 详细步骤请参照:
http://jingyan.baidu.com/article/bea41d435bc695b4c41be648.html
2. 放置商户证书
在C盘下先建一个bocommjava文件夹,然后把交通银行给的cert、ini文件夹COPY到c:\bocommjava目录下(这里针对Windows系统)
3. 安装银行根证书
第一步: 取得要导入的证书。 第二步: 开启CMD窗体,进入C:\ProgramFiles\Java\jdk1.5.0\jre\lib\security 目录下。 第三步: 执行以下命令: keytool-import -alias cacerts -keystore cacerts -file C:/test.cer -trustcacerts -alias后面的为别名,可随便起名,即使有重名也不要紧,可替换。 执行命令后会要求输入密码。 默认密码为changeit再输入y,进行确认。
是不是说的有点复杂,来个简单的,直接打开cmd命令窗体输入以下内容:
cd C:\Program Files\Java\jdk1.5.0\jre\lib\security 按回车然后再输入:
keytool -import -alias cacerts -keystore cacerts -file C:\bocommjava\cert\test_root.cer(这的C:\bocommjava\cert\test_root.cer,为test_root.cer存放的路径)
默认密码为changeit 再输入y,进行确认,至此证书导入完毕。
4. 把资料里给的socket.jar,拷贝到目录:C:\ProgramFiles\Java\jdk1.5.0\jre\bin文件夹下然后到cmd窗口执行如下语句:
cd C:\Program Files\Java\jdk1.5.0\jre\bin 按回车 再输入java -jar socket.jar 8080 socket.log
5. 把交行给的文件夹lib里的全部jar文件,拷贝到C:\ProgramFiles\Java\jdk1.5.0\jre\lib\ext目录下
6. 启动Socket
找到start.bat,并编辑start.bat,需要修改的参数有:路径、端口、日志名称。
路径为socket.jar所在的绝对路径,端口为socket启动时所占用的端口号,日志名称可修改。默认参数为例子中所提供的。
然后双击start.bat即可运行(是有界面的运行出现cmd窗口,cmd窗口不能关闭)
修改示例如下:
因为我们之前把socket.jar 放在了 C:\Program Files\Java\jdk1.5.0\jre\bin 目录下
所以,我们要修改这个start.bat文件找到start.bat,然后右键编辑,把原有的内容改为:
cd C:\Program Files\Java\jdk1.5.0\jre\bin
java -jar socket.jar 8080 socket.log
这时你再去C:\Program Files\Java\jdk1.5.0\jre\bin 目录下,看看有没有socket.log这个文件,如果有的话,说明就没问题。
7. 开始你的编码之旅吧。
双击start.bat,你可能会遇到这样一个问题:
cmd窗口打开后一闪而过 (闪烁一下然后自动关闭) 如果是这样,说明start.bat没有执行成功
解决办法:打开cmd 窗口输入:cd C:\Program Files\Java\jdk1.5.0\jre\bin 按回车
再双击一下start.bat 试试
个人感觉双击start.bat不好,那就把start.exe 放在开机启动项里吧。
编码测试中遇到的一些问题,给各位分享一下,或许能帮到你,毕竟银行那边的工作人员和很忙,能自己解决的就自己解决吧。
因为本人比较菜,遇到了不少问题。
问题1:跳转到测试地址:https://pbanktest.95559.com.cn/netpay/MerPayB2C 正常,但是如下错误:出错啦,请您回商户银行重新进行支付。
解决方案:
用火狐的FireBug或chrome自带的调试器查看https://pbanktest.95559.com.cn/netpay/MerPayB2C这个页面的表单提交内容,关键看提交过去的表单信息。如果你的表单信息为空,说明你的页面提交数据有问题。
问题2:对,是的,又是“出错啦,请您回商户银行重新进行支付”
解决方案:查看你所提交的表单参数是否符合相关规范。
1. 传递的表单参数中,多了一个_VIEWSTATE 的参数
你可能会想,压根就没有传递这个参数啊,怎么会无缘无故出现呢?别着急,看一下你的