加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

银行支付接口Webservice之一

发布时间:2020-12-17 00:30:33 所属栏目:安全 来源:网络整理
导读:需求: PHP 与 JAVA 做交互, PHP 传递支付信息给 JAVA 签名后反馈给 PHP ,然后提交给工商银行。 大体思路如下图 : ? ? 准备技术: webservice,json,php,java 最近在做一个工商银行支付接口的项目,虽然是小项目,但是做了很久了,总结原因,并非技术因素,

需求:PHPJAVA做交互,PHP传递支付信息给JAVA签名后反馈给PHP,然后提交给工商银行。

大体思路如下图:

?

?

准备技术:webservice,json,php,java

最近在做一个工商银行支付接口的项目,虽然是小项目,但是做了很久了,总结原因,并非技术因素,而是沟通问题,因为方面给予的回复效率太低,每次都要等上几天的时间。

刚开始向对方索要签名扩展,因为我们使用的语言是PHP,所以一定要对应我们服务器上的PHP版本才能使用扩展,而经过几番协调之后,对方终于给了回复,但是对方给的so文件无法与我们的PHP版本对应,这就导致程序开发依然无法进展下去了。

几经反复协调,最后对方在半个月以后给了一套java的签名跳转程序让我们自己研究(汗!我不会java,没办法,为了兑现客户的承诺,我们只好硬着头皮上了。

研究了几个小时的java之后,开始看起了银行给的程序,基本上都能看懂,但是后来依然无法做跳转,后来银行提醒说,提交支付商品的时间要向银行索要,不是自己写的,因为银行的测试服务器时间和实际的不同的。此问题后来也解决了,但是后面想到PHP如何与JAVA交互呢,因为PHP要提交数据给JAVA,然后JAVA签名,最后把数据返回给PHPPHP在提交POST给工商银行,这就是总体的思路。因为多年的经验,所以一下子想到了webservice,但是很久没做了,最后花了些时间又熟悉了熟悉。下面分别是PHPJAVA建立webservice与调用webservice数据的细节。

首先开启soap扩展extension=php_soap.dll

然后重启apache,如果是LINUX的话,需要重编译PHP或用phpize也可以。

然后建立一个test.php的文件,代码如下:

PHP:

?

?

 
 
  1. <?php?
  2. //苹果巴士www.ipukbus.com jeffxie@gmail.com
  3. ini_set("soap.wsdl_cache_enabled",?"0");?//?disabling?WSDL?cache?
  4. $wsdl="http://localhost:8080/test/myservicePort?wsdl";?//webservice地址?
  5. $soap=new?SoapClient($wsdl,?array('trace'=>true,'cache_wsdl'=>WSDL_CACHE_NONE,?'soap_version'???=>?SOAP_1_1));?
  6. $method="SayHi";?
  7. $params?=?array('arg0'=>json_encode(array("hello111","测试")));//传入数据,并编码为json?
  8. try{?
  9. ????$result=$soap->$method($params);?
  10. }catch(Exception?$e)?{?
  11. ????echo?"Exception:?"?.?$e->getMessage();?
  12. }?
  13. //$result为stdClass类型,因此不能使用?echo?$result的方式输出,会报错的。?
  14. echo?$result->return;?
  15. ?
  16. ?>?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读