php开发银⾏系统,Php开发银⾏接⼝之浦发银⾏
Php开发银⾏接⼝之浦发银⾏
(提⽰:下⾯的经验都是按照开发⽂档⼀步⼀步踩坑过来的,但是不能不看开发⽂档)
第⼀步:开发准备
2,java.zip(开发⽂档包⾥⾯,如果没有这个开发包请联系浦发银⾏,或者联系我)解压后放到项⽬中,例:/项⽬根⽬录/java/。(其实你放哪⼉都⾏,只要能引⼊就ok)
2、开发⽂档包所有的JAR 放到D:/certtest/jar(⽬前我是测试环境,所以我就放在D盘了) 。
编辑spdb_merchant.properties⽂件,修改cafile=jks⽂件路径/ spdbmerchant.jks项,正确指向JKS的存放⽬录。
3、修改完成后,请将spdb_merchant.properties打包⾄properties.jar中。命令如下:
(如果该jar命令⽆法使⽤,应该是环境变量没配对,可能要cd到java安装⽬录的bin⽬录下去执⾏,如果还是不⾏就重新安装⼀个版本,)
jar -cvf properties.jarspdb_merchant.properties
4、在命令⾏模式cmd下,当前⽬录为第2步JAR放置⽬录,输⼊
java -jar JavaBridge.jar SERVLET:8019
请注意,该命令需要使⽤本机8019端⼝,如果被占⽤,可⾃⾏订置端⼝号,并且需要修改java⽬录下的java.inc⽂件中的相应端⼝号。
java/Java.inc⽂件:
修改第12⾏:define("JAVA_HOSTS", "127.0.0.1:8019");
l 保证上⾯安装了java的环境 JDK安装成功
l 使⽤打开这个⽂件:java-jar JavaBridge.jar,在弹出的窗⼝中选择8080端⼝。(如果环境变量改对了,应该直接双击这个⽂件就可以)
l 新建⼀个php⽂件测试是否成功。⽂件内容如下:
l <?php
require_once("localhost:8080/JavaBridge/java/Java.inc");
$System = java("java.lang.System");
echo $System->getProperties();
>
l 在上⾯中使⽤URL地址包含,所以需要在php.ini⽂件allow_url_include设为On。
l 编辑⾃⼰的java类,并使⽤打包。将所有需要的包放⼊jre7/lib/ext⽬录下。(有新的包放⼊时需要重新启动JavaBridge.jar。
第⼆步:安装商户⽀付⽹关证书
1,Cmd窗⼝进⼊上⾯提到的certest⽂件夹下⾯,并且保证把下⾯的pfx⽂件也放在同⼀个⽂件夹下⾯
测试证书:获得测试商户证书 2000615499.pfx(开发⽂档中有,或者浦发银⾏)
将密钥导⼊商户私钥容器spdbmerchant.jks ,cmd窗⼝输⼊命令:
pfx2jks spdb_merchant.properties -keypassword –new
参数说明:
spdb_merchant.properties 配置⽂件名称,⼀般不需要修改名称
导出的商户证书私钥⽂件
导出私钥⽂件时指定的密码
商户为⾃⼰的证书新设定的密码
测试证书导⼊,如下所⽰:(如果⽆法执⾏,请看下⾯的报错解决提⽰)
1
注意:
1.在导⼊前,如果您没有修改密钥容器⽂件的密码!则请不要修改对应的spdb_merchant.properties⽂件。如果修改了密码则请同时修改该
配置⽂件。
2.这⾥指定的merchant_key的密码是222222,(我⼜执⾏了⼀次把这个merchant_key的密码写111111)。客户需要按照⾃⼰的实际
情况输⼊,并在spdb_merchant.properties⽂件中的key_password保持⼀致。
第三步:开始测试:
保证上⾯提到的java -jarJavaBridge.jar SERVLET:8019 已经执⾏
测试签名:
在项⽬中写⼀个php⽂件
require_once("java/Java.inc");
java_require("properties.jar;spdbmerchant.jar;spdbmerchant.jar;bcprov-jdk14-127.jar;jsse.jar;jnet.jar;jcert.jar;jce.jar;");
header("content-type:text/html;charset=utf-8");
$merverify = newJava('com.csii.MerchantSignVerify');
$plain="TranAmt=1.8|transName=MerchantTest|MercCode=990108160003311|TranAbbr=IPER|TermSsn=15144037|OAcq
$signature=$merverify->merchantSignData_ABA($plain);
print$signature.'
';
这⾥应该返回⼀个加密后的字符串,goodluck;
报错解决:
国外java php1, Notice:undefined property:java_client::$cancelProxyCreationTag……..
打开java/java.inc⽂件,到下⾯的位置,添加下⾯第⼆个红框⾥⾯的内容。
1, 上⾯的pfx2jks命令 是⾮常egg疼的⼀个问题,开发⽂档⾥⾯直接就使⽤了这个命令,实际上,这个还需要⼀个bat⽂件。我已经上传
到资源⾥⾯了。
下载后,放到上⾯提到的jar/⽂件夹下⾯,然后cd到jar⽂件夹执⾏pfx2jks的命令
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论