php版如何开发银联支付接口
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,小编给大家分享一下php版如何开发银联支付接口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!银联支付,首先要注意二重要的部
千家信息网最后更新 2025年02月22日php版如何开发银联支付接口
小编给大家分享一下php版如何开发银联支付接口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
银联支付,首先要注意二重要的部分:
PHP运行环境是5.4.18以上
开了扩展openssl
开发手册上面的列子只做参考,因为基本都是错的。你可以试着去官网下一个demo。。。注意现在银联开发,没有测试密钥提供,只能在正式环境开发
下面是我用ThinkPHP编写的一个支付类
/*** 银联支付 v0.1* @auther:Summer;* @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 = "
以上是"php版如何开发银联支付接口"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
支付
开发
文件
文件夹
核心
加密
篇文章
接口
内容
环境
参考
测试
成功
不怎么
商品
商户
大部分
密钥
手册
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
打印服务器启动后又暂停
命令行连接服务器数据库
萌出网络技术招聘
浦东新区品牌软件开发代理价格
网络安全 涉密 政治
软件开发的意义是什么
斗鱼服务器炸了
交建云商劳务分包商数据库
国家网络安全保密周新闻
开封软件开发成交价
学校组知网络安全应急演练
服务器做内网穿透原理
db怎么创建数据库
身份认证网络安全系统
深圳网络技术转移共同合作
雷达检测管理服务器
数据库密码策略
大国网络安全博弈有什么
网吧服务器有必要换吗
普陀区机电网络技术创造辉煌
2网络安全插画人物
专业软件开发哪家好
中国踢足球人数数据库
互联网服务器变革
实时系统软件开发
浅谈对计算机网络技术的认识
打印机域服务器不可用
打电话提示服务器错误稍后重试
相片管理服务器
张家港便宜服务器市面价