zoukankan      html  css  js  c++  java
  • Php开发银行接口之浦发银行

    Php开发银行接口之浦发银行

    (提示:下面的经验都是按照开发文档一步一步踩坑过来的,但是不能不看开发文档!!!)

    第一步:开发准备

             1,安装java,百度下载JDK很方便(我自己网盘有,然后配置环境变量参照http://jingyan.baidu.com/article/3c343ff70bc6ea0d377963df.html)

                     

             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");

             5,  为了php能调用java,安装phpjavabridge(参照:http://blog.csdn.net/qhdcsj/article/details/49131387)

    l  保证上面安装了java的环境 JDK安装成功

    l  下载php-java-bridge包。地址:http://sourceforge.NET/projects/php-java-bridge/files,点击Binary package 下载JavaBridgeTemplate621.war。使用winrar解压,找到WEB-INFlib下的JavaBridge.jar文件。

    l  使用java.exe打开这个文件:java-jar JavaBridge.jar,在弹出的窗口中选择8080端口。(如果环境变量改对了,应该直接双击这个文件就可以)

    l  新建一个php文件测试是否成功。文件内容如下:

    l  <?php 
    require_once("http://localhost:8080/JavaBridge/java/Java.inc");
    $System = java("java.lang.System");
    echo $System->getProperties();
    ?> 

    l  在上面中使用URL地址包含,所以需要在php.ini文件allow_url_include设为On。

    l  编辑自己的java类,并使用jar.exe打包。将所有需要的包放入jre7/lib/ext目录下。(有新的包放入时需要重新启动JavaBridge.jar。

    第二步:安装商户支付网关证书

                       1,Cmd窗口进入上面提到的certest文件夹下面,并且保证把下面的pfx文件也放在同一个文件夹下面

    测试证书:获得测试商户证书 2000615499.pfx(开发文档中有,或者找浦发银行)

                       将密钥导入商户私钥容器spdbmerchant.jks ,cmd窗口输入命令:

           pfx2jks spdb_merchant.properties  <pfxfile name>  <pfx passwd>-keypassword –new <key passwd>

    参数说明:

                spdb_merchant.properties   配置文件名称,一般不需要修改名称

                <pfx file name>                导出的商户证书私钥文件

                <pfx passwd>                   导出私钥文件时指定的密码

                               <key passwd>           商户为自己的证书新设定的密码

    测试证书导入,如下所示:(如果无法执行,请看下面的报错解决提示)

    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.payment.client.core.MerchantSignVerify');

    $plain="TranAmt=1.8|transName=MerchantTest|MercCode=990108160003311|TranAbbr=IPER|TermSsn=15144037|OAcqSsn=|MercDtTm=20090615144037|TermCode=001|Remark1=|Remark2=|submit=%3F%A8%A2%3F%3F|OSttDate=|MercUrl=http%3A%2F%2F10.112.9.182%3A81%2Flocal%2Freceive.asp";

    $signature=$merverify->merchantSignData_ABA($plain);

    print$signature.'<br>';

    这里应该返回一个加密后的字符串,goodluck;

    报错解决:

    1,  Notice:undefined property:java_client::$cancelProxyCreationTag……..

    打开java/java.inc文件,找到下面的位置,添加下面第二个红框里面的内容。

    1,  上面的pfx2jks命令 是非常egg疼的一个问题,开发文档里面直接就使用了这个命令,实际上,这个还需要一个bat文件。我已经上传到资源里面了。

    下载后,放到上面提到的jar/文件夹下面,然后cd到jar文件夹执行pfx2jks的命令

  • 相关阅读:
    删除所有空白列 cat yum.log | awk '{$1=$2=$3=$4=null;print $0}'>>yum.log1 sed ‘s/[ ]*$//g' 删除所有空格 sed -i s/[[:space:]]//g yum.log
    make clean 清除之前编译的可执行文件及配置文件。 make distclean 清除所有生成的文件。
    ipmitool -I lanplus -H 10.1.81.90 -U admin -P admin mc reset cold
    netperf对比
    iozone
    CentOS 7 vs. CentOS 8 版本差异大比拼
    seajs模块化jQuery与jQuery插件【转】
    教你怎么写jQuery的插件
    Jquery特效之=》仿京东多条件筛选特效
    sql FOR XML PATH('')
  • 原文地址:https://www.cnblogs.com/spicy/p/8495894.html
Copyright © 2011-2022 走看看