chinapay支付接口php,PHP/Java Bridge实现ecshop的chinapay支付接口方法(2)

瞿健
2023-12-01

3.配置php.ini

找到php.ini这个文件,将里面的allow_url_include参数改为on,如果没有找到这个参数,自己添加一下就行了。具体如下:

Php代码

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.

allow_url_include = on

写一个简单测试php调用java文件test.php

其代码如下:

Php代码

require_once("http://localhost:8080/JavaBridge/java/Java.inc");

$System = java("java.lang.System");

echo $System->getProperties();

?>

将其放在htdocs下面,在浏览器中输入http://localhost/test.php 如果出现一些环境信息,则说明环境配对了.

4.php调用chianpay的jar包实现signOrder和verifyTransResponse两个函数。

其signOrder函数核心代码如下:

Php代码

/*

*php通过JavaBridge远程调用java的chinapay组件获取签名。

*/

function signOrder($MerId,$OrdId,$TransAmt,$CuryId,$TransDate,$GateId,$merkey_file,$java_inc_file){

//加载javainc文件,初始化java环境

require_once(“http://localhost:8080/JavaBridge/java/Java.inc”);

//导入私钥文件

$objectKey = new java("chinapay.PrivateKey");

$buildKeyResult = $objectKey->buildKey($MerId,0,$merkey_file);

//生成签名值

if($buildKeyResult==true){

$chinapayLink = new java("chinapay.SecureLink",$objectKey);

$checkValue = $chinapayLink->signOrder($MerId,$OrdId,$TransAmt,$CuryId,$TransDate,$GateId);

}else{

return false;

}

return $checkValue;

}

其verifyTransResponse函数核心代码如下:

Php代码

/*

*php通过JavaBridge远程调用java的chinapay组件验证签名。

*/

function verifyTransResponse($merId, $ordId,$transAmt,$curyId,$transDate,$transType, $orderStatus, $chkValue){

$payment = get_payment(basename(__FILE__, '.php'));

//加载javainc文件,初始化java环境

require_once(“http://localhost:8080/JavaBridge/java/Java.inc”);

$pubkey = $payment['chinapay_pubkey_file'];

//导入公钥文件 重新计算密钥的值

$objectKey = new java("chinapay.PrivateKey");

$buildKeyResult = $objectKey->buildKey("999999999999999",0,$pubkey);

//验证签名

if($buildKeyResult==true){

$chinapayLink = new java("chinapay.SecureLink",$objectKey);

$verifyTransResponseResult = $chinapayLink->verifyTransResponse($merId, $ordId,$transAmt,$curyId,$transDate,$transType,  $orderStatus, $chkValue);

return $verifyTransResponseResult;

}else{

return false;

}

}

5.php的调用java版ecshop chinapay插件源代码

本文来源:javaeye

 类似资料: