php银联支付接口 demo,php版银联支付接口开发简明教程
本文实例讲述了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 = "
;";
$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 .= "";
$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常见数据库操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》及《php字符串(string)用法总结》
希望本文所述对大家PHP程序设计有所帮助。
php银联支付接口 demo,php版银联支付接口开发简明教程相关推荐
- php银联支付接口 demo,php版银联支付接口开发简单实例详解
这篇文章主要介绍了php版银联支付接口开发的方法,结合实例形式分析了php银联支付接口开发的具体流程与相关操作技巧,需要的朋友可以参考下 支付接口现在有第三方的支付接口也有银行的支付接口.这里就来介绍 ...
- php对接支付宝当面付接口视频教程,支付宝当面付接口demo(面对面扫码支付)
[实例简介] 一.免责申明 DEMO仅供参考,实际开发中需要结合具体业务场景修改使用. 二.运行环境: .net framework 3.5以上:visual studio 2010以上 三.使用说明 ...
- 【2020】明哥版-JetBrains旗下常用开发工具教程目录更新中-建议收藏
前言 我为什么要写这个系列的教程?很早以前我们在写Java代码时用的较多开发工具可能就是MyEclipse或eclipse,当然了如果你在企业中还能遇见很古老的项目的话,你维护的时候还是需要使用MyE ...
- STM32教程(CubeMx版):STM32CubeMx开发实例教程
基于STM32库函数开发教程(代码+教程文档) 需要的联系邮箱:Zhangyc_Engineer@qq.com(注:不免费)
- 天气预报文字版微信_微信开发天气预报教程
微信开发天气预报教程默认城市是郑州 需要注意的是: 1:weatherdata.txt是反序列化的城市天气网址,所以需要反序列化. 2: $contentStr = "$contentStr ...
- ASP对接验证码短信接口DEMO示例说明
简单实用的ASP短信接口demo <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% '接口类型:互亿无线触 ...
- 第三方银联支付接口对接_聊聊三方支付对接那点事儿(附Demo)
每一个做过支付对接的少年上辈子都是折翼的天使.--题记 三方支付对接是一件比较有意思的事儿,今天就拿这个话题来掰扯掰扯.相信每个做过支付对接的小伙伴都有段血与火的经历,那段日子只有痛苦与煎熬,恨不得大 ...
- 微信支付 自动退款 php,银联在线、微信、支付宝自动退款接口文档总结和API地址...
关于微信和支付宝自动退款接口的接入总结 一:支付宝的自动退款接口接入 支付宝官方api:https://doc.open.alipay.com/doc2/apiDetail.htm?spm=a219a ...
- Magento银联支付模块|Magento1.9 Unionpay中国银联支付插件|支持PC、手机移动端支付|2016最新Unionpay5.0.0支付接口...
2019独角兽企业重金招聘Python工程师标准>>> 功能 严格按照中国银联Unionpay)接口文档编写代码. 中国银联(Unionpay)异步通知机制,确保订单状态及时更新. ...
- 银联在线支付5.0.0版-仿真端
背景 银联在线支付本身为开发人员提供了测试环境,但是在某些项目组中,无法连接外部网络,这样就给需要开发银联在线支付的人员造成了一个比较头疼的问题. 通过对银联在线支付SDK研究,银联支付5.0.0版( ...
最新文章
- EJB-Java服务器端构件模型使用入门(2)
- 本周看代码找bug总结
- 研究生第一篇学术论文常犯问题总结
- udp 协议阻断_应对UDP反射放大攻击的五种常用防护思路
- amap vueamap 与_vue中使用vue-amap(高德地图)
- mysql建立外键案例_MySQL外键实例
- python语法简图
- SQL中的CASE WHEN THEN使用
- windows server 2008r2下搭建***服务器
- HP服务器远程管理工具iLO详细介绍
- java speex转码_JAVA版-微信语音.speex转.wav
- Elasticsearch:InteliJ Elasticsearch plugin 集成
- 计算机二级python看什么书好_2021年全国计算机二级Python备考指导
- 基于matlab的-数字调制技术仿真
- Java学习第一周总结
- 如何判断如何判断RS232线是直连还是交叉连线
- js实现酷炫倒计时动画效果
- 音频名词解释1(zhuanzai)
- 如何重置计算机服务到默认状态,电脑慢到让人抓狂?教你如何将Windows10还原到出厂设置...
- IT培训行业揭秘(五)
热门文章
- android信鸽推送通知栏,【信鸽推送】点击推送通知后,默认会从程序Launcher进入,返回时会回到主界面的问题...
- AB PLC仿真过程
- LinUX接收蓝牙音频,Win10 v2004已重新支持蓝牙A2DP音频串流接收功能
- Python量化资源大合集
- pdf编辑器哪个好 怎么添加pdf文件水印
- jquery 库下载地址http://www.jq22.com/jquery-info122
- android 限制后台进程,不超过4个进程 开发者选项,后台允许不超
- 华为荣耀4X的ROOT
- 【Get Up&Move】MMD镜头+动作打包下载.zip
- 视频时代的下一幕 ABC Inspire:读懂视频