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

php版银联支付接口开发简明教程

发布时间:2020-12-12 21:46:40 所属栏目:PHP教程 来源:网络整理
导读:本篇章节讲解php版银联支付接口开发的方法。供大家参考研究具体如下: 支付接口现在有第三方的支付接口也有银行的支付接口。这里就来介绍php版本银联支付接口开发的方法。 银联支付,首先要注意二重要的部分: PHP运行环境是5.4.18以上 开了扩展op

本篇章节讲解php版银联支付接口开发的方法。分享给大家供大家参考,具体如下:

支付接口现在有第三方的支付接口也有银行的支付接口。这里就来介绍php版本银联支付接口开发的方法。

银联支付,首先要注意二重要的部分:

PHP运行环境是5.4.18以上

开了扩展openssl

开发手册上面的列子只做参考,因为基本都是错的。你可以试着去官网下一个demo。。。注意现在银联开发,没有测试密钥提供,只能在正式环境开发

下面是我用ThinkPHP编写的一个支付类

; * @date:20151202 * **/ class NetPayAction extends BaseAction{ //在类初始化方法中,引入相关类库 public function _initialize() { header("Content-type:text/html;charset=utf-8"); vendor('Netpay.util.common',"",".php"); //导入加密核心文件夹 vendor('Netpay.util.SecssUtil',".class.php"); //导入加密核心文件夹 vendor('Netpay.util.Settings_INI',".php"); //导入加密核心文件夹 vendor('Netpay.util.Settings',".php"); //导入加密核心文件夹 $this->securityPropFile= $_SERVER['DOCUMENT_ROOT'] . "/ThinkPHP/Extend/Vendor/Netpay/config/security.properties"; //谁知道这是啥,反正他们要我加的 $this->b2cPaySend = __APP__."/Index/NetPay/b2cPaySend"; $this->b2cRefundSend = __APP__."/Index/NetPay/b2cRefundSend"; $this->b2cQuerySend = __APP__."/Index/NetPay/b2cQuerySend"; $this->;MerBgUrl = __APP__."/Index/NetPay/MerBgUrl"; $this->MerPageUrl = __APP__."/Index/NetPay/MerPageUrl"; } public function index() { $paramArray=array ( 'MerId' => '商户号','MerOrderNo' => '0000001944663232','OrderAmt' => '1','TranDate' => '20151219','TranTime' =>'171248','TranType' => '0001','BusiType' =>'0001','Version' => '20140728','CurryNo' => 'CNY','AccessType' =>; '0','CommodityMsg' => '测试商品1号','MerPageUrl' => $this->MerBgUrl,'MerBgUrl' =>$this->MerPageUrl,'MerResv' => 'MerResv',); if (count($paramArray) >0) { $dispatchUrl = $this->b2cPaySend; $transResvedJson = array(); $cardInfoJson = array(); $sendMap = array(); foreach ($paramArray as $key => $value) { if (isEmpty($value)) { continue; } if (startWith($key,"trans_")) { $key = substr($key,strlen("trans_")); $transResvedJson[$key] = $value; } else if (startWith($key,"card_")) { $key = substr($key,strlen("card_")); $cardInfoJson[$key] = $value; } else { $sendMap[$key] = $value; } } $transResvedStr = null; $cardResvedStr = null; if (count($transResvedJson) >0) { $transResvedStr = json_encode($transResvedJson); } if (count($cardInfoJson) > 0) { $cardResvedStr = json_encode($cardInfoJson); } $secssUtil = new SecssUtil(); if (! isEmpty($transResvedStr)) { $transResvedStr = $secssUtil->decryptData($transResvedStr); $sendMap["TranReserved"] = $transResvedStr; } if (! isEmpty($cardResvedStr)) { $cardResvedStr = $secssUtil->decryptData($cardResvedStr); $sendMap["card_"] = $cardResvedStr; } $securityPropFile = $this>securityPropFile; $secssUtil->init($securityPropFile); $secssUtil->sign($sendMap); $sendMap["Signature"] = $secssUtil->getSign(); $_SESSION = $sendMap; header("Location:" . $dispatchUrl); } } public function b2cPaySend(){ layout(false); $settings = new Settings_INI(); $settings->oad($this->securityPropFile); $pay_url = "https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0"; $html = "
;"; $params = "TranReserved;MerId;MerOrderNo;OrderAmt;CurryNo;TranDate;SplitMethod;BusiType;MerPageUrl;MerBgUrl;SplitType;MerSplitMsg;PayTimeOut;MerResv;Version;BankInstNo;CommodityMsg;Signature;AccessType;AcqCode;OrderExpiryTime;TranType;RemoteAddr;Referred;TranTime;TimeStamp;CardTranData"; foreach ($_SESSION as $k =>$v) { if (strstr($params,$k)) { $html .= ""; } } $html .= ""; $html .= "<;/from>"; $this->html = $html; $this->display(); } public function pgReturn(){ if ($_POST) { if (count($_POST) > 0) { $secssUtil = new SecssUtil(); $securityPropFile = $this>securityPropFile; $secssUtil->init($securityPropFile); $text = array(); foreach($_POST as $key=>$value){ $text[$key] = urldecode($value); } if ($secssUtil->verify($text)) { //支付成功 $_SESSION["VERIFY_KEY"] = "success"; } else { //支付失败 $_SESSION["VERIFY_KEY"] = "fail"; } } } } }

银联支付应该是算比较简单的!!

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《》

希望本文所述对大家PHP程序设计有所帮助。

(编辑:李大同)

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

    推荐文章
      热点阅读