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

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

  1. java 移动支付_如何在java中使用J2ME实现移动支付

    移动支付解决方案使用了 MIDP/SIM API.SSL 和 java Card 平台,Java Card 平台提供了比通常情况更高的安全性和网络效率,并且还为事务本身提供经济上可行的适当的安全性. ...

  2. Function接口 – Java8中java.util.function包下的函数式接口

    作者:   Mohamed Sanaulla  译者: 李璟(jlee381344197@gmail.com) 早先我写了一篇<函数式接口>,探讨了Java8中函数式接口的用法.如果你正在 ...

  3. 网易云信短信接口java_【java】网易云信发送短信接口和验证短信验证码接口

    官网:https://dev.yunxin.163.com/docs/product/IM%E5%8D%B3%E6%97%B6%E9%80%9A%E8%AE%AF/%E6%9C%8D%E5%8A%A1 ...

  4. java调用qq接口_用java代码怎么去请求腾讯接口并返回值

    这是参看代码,你看一下,里面的HttpClient包你要自己去下public static void main(String[] args) { CloseableHttpClient httpcli ...

  5. java 银行支付接口_cbcPayment 建设银行Java支付接口详细说明文档dsdsdds - 下载 - 搜珍网...

    中国建设银行网上商户接口多操作系统版本V1.5/1.商户支付接口/0.商户开发手册.doc 中国建设银行网上商户接口多操作系统版本V1.5/1.商户支付接口/1.商户接口规范.doc 中国建设银行网上 ...

  6. java收款编程_农行网上支付平台-商户接口编程指南-Java_Edition-V3.1.6.pdf

    [实例简介] [实例截图] 目录 1. 简介.............................................................................. ...

  7. 疯狂JAVA讲义学习——基础代码练习——Interface——接口

    Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...

  8. java chinapay_通过PHP/Java Bridge来实现ecshop的chinapay支付接口

    背景: 最近弄ecshop网上商城这个系统,需要提供对中国银联支付支持,从网上查了一些资料,发现chinapay对php支持并不是十分友好.需要扩展编译啥的,似乎很麻烦.网上资料不是很多,php实现c ...

  9. php java bridge 安装_php-java-bridge扩展安装

    和招行进行支付接口对接 之前采用的是第二种方法,没有成功,原因是下载的包不一样,安装方式也不一样,推荐采用第一种方法,和windows下差不多,启动后别然每次访问有提示.但是访问测试成功,正常显示ja ...

最新文章

  1. 对于java程序语言的单例设计模式讲解
  2. Openfire Server presence(在线状态)消息处理流程
  3. 2021-08-30 centos连接WiFi方法
  4. Python mat与array的区别
  5. VR: AR和VR演进哲学
  6. Maven -- 在进行war打包时用正式环境的配置覆盖开发环境的配置
  7. 各大厂抢招WPF,小米这回是下了血本啊...
  8. .net core 生成二维码
  9. C#中几种数据库的大数据批量插入
  10. iOS :APP 提交描述注意事项
  11. hdu2553N皇后问题(打表)
  12. 卸载mysql数据库报错_完全卸载mysql数据库图文教程
  13. CANOe系列讲解 - CANoe发送UDS诊断帧
  14. 最牛逼的技术能力,是技术领导力
  15. 不属于微型计算机的技术特标,计算机组成原理汇总
  16. wifi服务器延迟高,网络延迟高怎么办(家里WIFI延迟高,教你几招搞定网络延迟)...
  17. 信息管理系统(五)战略规划与发开方法
  18. QQ和微信凶猛成长的背后:腾讯网络基础架构的这些年
  19. 2020年产品经理职业发展路径
  20. 什么是网关,及其作用 (转载)

热门文章

  1. 宝德网吧服务器型号,14款网吧、网游 服务器横向评测
  2. 苹果升级后怎么恢复以前的版本_安卓微信7.0不好用?教你一步降回旧版本
  3. python Linux学习之 ansible-- ansible test -m ping运行错误
  4. 170902 WarGames-Narnia(8)
  5. android 音量 广播,Android平台音量调节(一)音量键调节音量
  6. 详解多级目标检测体系结构Cascade RCNN
  7. 澳大利亚政府为区块链能源项目拨款800万澳元
  8. NUCLEO-L476RG开发板学习笔记汇总
  9. Spring事务源码分析责任链事务链事务不生效
  10. python导入pyx文件_初学Python,只会写简单的代码。手头有份Python代码,但是调用C模块生成的.pxd和.pyx文件,运行过程总报错,希望大神指点,调试前该做哪些工作呢?...