Last year, when I was doing ping an bank, I used the Php-java-bridge, and later wrote a blog record of some of the experiences of using Php-java-bridge (connection: http://my.oschina.net/kenblog/blog/316234).
Then there are a lot of friends on the ground to do the safe bank interface to use Php-java-bridge, read my blog also a bit of pain (probably at that time to start blogging, thinking, organization and description is not very clear).
Recently use Php-java-bridge to do ping An bank development of people still quite a lot, many friends have come to ask, now take time to write an article about ping an bank to pay the use of Php-java-bridge tutorial, I hope to help people.
Usage Environment:
PHP Version: Up to 5.4, current test is 5.4/5.3
JDK: Official latest version, current test is 1.8 and Linux comes with OPENJDK
Operating system: Windows7 32-bit/64-bit | Linux (centos6.5,5.9)
1. Using Php-java-bridge
Download the following files and put them in your project
File Download: https://kanbox.com/f/hA0a4
2. Proper placement of jar packages
1), put your Safe bank Payment related jar package under the Java jar
2), place the Php-java-bridge file under the Java jar
Download the following files and place them under the Java jar installed
File Download: https://kanbox.com/f/RS0a5
The path is as follows:
Windows:c:\program files\java\jre1.8.0_25\lib\extlinux:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre/lib/ Ext
Note: This path will vary depending on the Java version and path you have installed on your system, but probably all the same
3, modify the Ping an bank's configuration file
Find the Payclient.properties file under the classes folder below the two paths above
Modify "cafile=" for your Merchant.jks path, where absolute paths are used, and relative paths can be used
The code is as follows:
Windows: "Cafile=c:/program files/java/jre1.8.0_25/lib/ext/classes/merchant.jks" Linux: "cafile=/usr/lib/jvm/ Java-1.7.0-openjdk-1.7.0.65.x86_64/jre/lib/ext/classes/merchant.jks "
4. Open Php-java-bridge
Execute the Javabridge.jar file below the two paths above
Windows: Directly double-click the Javabridge.jar file under the jar package to run Linux: Use the command "Java-jar Javabridge.jar servlet_local:8080 &"
5. Use Php-java-bridge in your project
Here is an example code that needs to be modified with your project requirements
The code is as follows:
", $e; }//3, assemble the data, then generate orig and sign try{//assembly data to $input $input->put ("MasterID", $payment _masterid); $input->put ("OrderId", $payment _orderid); $input->put ("Currency", $payment _currency); $input->put ("Amount", $payment _amount); $input->put ("PayDate", $payment _paydate); $input->put ("Remark", $payment _remark); $input->put ("ObjectName", $payment _objectname); $input->put ("Validtime", $payment _validtime); Set the initial value $orig = ""; Raw Data $sign = ""; Generate Signature $encoding = "GBK"; Get orig and sign $signDataput = $util->getsigndata ($input); $orig = $signDataput->getdatavalue ("orig"); $sign = $signDataput->getdatavalue ("sign"); Encode the signature $orig = $util->base64encode ($orig, $encoding); $sign = $util->base64encode ($sign, $encoding); $orig = $urlEncoder->encode ($orig, $encoding); $sign = $urlEncoder->encode ($sign, $encoding);? >
6, according to the above five operation, Basic is no problem, if there is a problem, please check your code call is correct
About official online:
If the project is to be formally launched, replace the khpaymenturl=https://testebank.sdb.com.cn:461/corporbank/in the Payclient.properties file with the official payment address of Ping an bank.
Note:
1, if you succeed, have time to read this blog:
2, if this is not successful, you can contact me to see the specific reasons.