2016最新php支付平台源码,Thinkphp各大支付平台在线支付集成源码
支付配置ThinkPay\Application\Common\Conf\config.phparray(/*支付设置*/
‘payment‘ => array(‘tenpay‘ => array(//加密key,开通财付通账户后给予
‘key‘ => ‘e82573dc7e6136ba414f2e2affbe39fa‘,
//合作者ID,财付通有该配置,开通财付通账户后给予
‘partner‘ => ‘1900000113‘),
‘alipay‘ => array(//收款账号邮箱
‘email‘ => ‘chenf003@yahoo.cn‘,
//加密key,开通支付宝账户后给予
‘key‘ => ‘aaa‘,
//合作者ID,支付宝有该配置,开通易宝账户后给予
‘partner‘ => ‘2088101000137799‘),
‘aliwappay‘ => array(//收款账号邮箱
‘email‘ => ‘chenf003@yahoo.cn‘,
//加密key,开通支付宝账户后给予
‘key‘ => ‘aaa‘,
//合作者ID,支付宝有该配置,开通易宝账户后给予
‘partner‘ => ‘2088101000137799‘),
‘palpay‘ => array(‘business‘ => ‘zyj@qq.com‘),
‘yeepay‘ => array(‘key‘ => ‘69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl‘,
‘partner‘ => ‘10001126856‘),
‘kuaiqian‘ => array(‘key‘ => ‘1234567897654321‘,
‘partner‘ => ‘1000300079901‘),
‘unionpay‘ => array(‘key‘ => ‘88888888‘,
‘partner‘ => ‘105550149170027‘)
)
);
支付生成订单 ThinkPay\ThinkPHP\Library\Think\Pay.class.phpfunction buildRequestForm(Pay\PayVo $vo) {$this->payer->check();//生成本地记录数据
$check = M("Pay")->add(array(‘out_trade_no‘ => $vo->getOrderNo(),
‘money‘ => $vo->getFee(),
‘status‘ => 0,
‘callback‘ => $vo->getCallback(),
‘url‘ => $vo->getUrl(),
‘param‘ => serialize($vo->getParam()),
‘create_time‘ => time(),
‘update_time‘ => time()
));if ($check !== false) {return $this->payer->buildRequestForm($vo);
}else{
E(M("Pay")->getDbError());
}
}
支付订单表/**
数据库
CREATE TABLE `think_pay` (
`out_trade_no` varchar(100) NOT NULL,
`money` decimal(10,2) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT ‘0‘,
`callback` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`param` text NOT NULL,
`create_time` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
PRIMARY KEY (`out_trade_no`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;*/alipay配置ThinkPay\ThinkPHP\Library\Think\Pay\Driver\Alipay.class.phpprotected $gateway = ‘https://mapi.alipay.com/gateway.do‘;protected $verify_url = ‘http://notify.alipay.com/trade/notify_query.do‘;protected $config = array(‘email‘ => ‘‘,
‘key‘ => ‘‘,
‘partner‘ => ‘‘);
md5加密public function buildRequestForm(\Think\Pay\PayVo $vo) {$param = array(‘service‘ => ‘create_direct_pay_by_user‘,
‘payment_type‘ => ‘1‘,
‘_input_charset‘ => ‘utf-8‘,
‘seller_email‘ => $this->config[‘email‘],
‘partner‘ => $this->config[‘partner‘],
‘notify_url‘ => $this->config[‘notify_url‘],
‘return_url‘ => $this->config[‘return_url‘],
‘out_trade_no‘ => $vo->getOrderNo(),
‘subject‘ => $vo->gettitle(),
‘body‘ => $vo->getBody(),
‘total_fee‘ => $vo->getFee()
);ksort($param);reset($param);$arg = ‘‘;foreach ($param as $key => $value) {if ($value) {$arg .= "$key=$value&";
}
}$param[‘sign‘] = md5(substr($arg, 0, -1) . $this->config[‘key‘]);$param[‘sign_type‘] = ‘MD5‘;$sHtml = $this->_buildForm($param, $this->gateway, ‘get‘);return $sHtml;
}
支付成功后回调地址ThinkPay\Application\Home\Controller\PublicController.class.phppublic functionnotify() {$apitype = I(‘get.apitype‘);$pay = new \Think\Pay($apitype, C(‘payment.‘ . $apitype));if (IS_POST && !empty($_POST)) {$notify = $_POST;
}elseif (IS_GET && !empty($_GET)) {$notify = $_GET;unset($notify[‘method‘]);unset($notify[‘apitype‘]);
}else{exit(‘Access Denied‘);
}//验证
if ($pay->verifyNotify($notify)) {//获取订单信息
$info = $pay->getInfo();if ($info[‘status‘]) {$payinfo = M("Pay")->field(true)->where(array(‘out_trade_no‘ => $info[‘out_trade_no‘]))->find();if ($payinfo[‘status‘] == 0 && $payinfo[‘callback‘]) {
session("pay_verify", true);$check = R($payinfo[‘callback‘], array(‘money‘ => $payinfo[‘money‘], ‘param‘ => unserialize($payinfo[‘param‘])));if ($check !== false) {
M("Pay")->where(array(‘out_trade_no‘ => $info[‘out_trade_no‘]))->setField(array(‘update_time‘ => time(), ‘status‘ => 1));
}
}if (I(‘get.method‘) == "return") {
redirect($payinfo[‘url‘]);
}else{$pay->notifySuccess();
}
}else{$this->error("支付失败!");
}
}else{
E("Access Denied");
}
}
2016最新php支付平台源码,Thinkphp各大支付平台在线支付集成源码相关推荐
- 微信支付开发,基于SpringBoot+Vue架构的Java在线支付项目
目录 前言 1. 支付安全 1.1 对称加密和非对称加密 1.2 身份认证 1.3 摘要算法 1.4 数字签名和数字证书 2. 项目初期 2.1 构建测试 2.2 引入Swagger 2.3 引入lo ...
- Dyson如何打造多源融合的招聘大数据平台
探码-Dyson可以帮助客户打造信息最全.覆盖地区及行业最广的招应聘信息平台,实现每个时段自动抓取更新招应聘相关的工作信息:致力打造成为企业人才招选.储备.用户查找工作的首选平台. 找工作难,招员工难 ...
- 最新版苹果cms源码韩剧TV电影视频在线观看网站源码
韩剧TV电影视频在线观看网站源码 韩剧TV苹果cmsv10模板(PC+WAP) 将解压"hanju"."hanju-m"文件夹模板上传至template文件夹 ...
- jquery二维码生成插件jquery.qrcode.js在线生成二维码
一代巨匠金庸先生驾鹤西去,谢谢您的作品,陪我度过儿时的时光 –2018.10.31 一.场景再现 由于业务需求,经常会将访问链接分享给别人,方便其他客户访问我们的业务.在本周的需求中,我们需要根据地址 ...
- web农行支付php示例,ecshop,shopex完美实现农业银行(农行)在线支付接口
最近为客户开发了一个ecshop的农业银行在线支付的插件.分享一下我的经验. 农行开发了这个在线支付接口,但是主要是java版本的.那么我们的ecshop怎么跟他的接口通信呢? 农行给了一个解决方案, ...
- 视频图片加文字的二维码怎么做?教你在线制作二维码
想要把视频.图片以及文字做成二维码的时候,要怎么操作呢?其实,方法非常的简单,只需要使用操作简单的二维码生成器(https://www.jzx.com/)就能够快速完成二维码制作的操作.下面,给大家分 ...
- 超好用的大数据分析平台分享,SuccBI 一站式大数据分析平台
SuccBI 一站式大数据分析平台融合了数据汇集.加工.智能调度.自助分析可视化.中国式报表等功能为企业提供一站式的大数据分析处理能力. 数据汇集.加工 连接各类分散的数据并进行加工.清洗.调度.元数 ...
- php 五子棋源联机版_PHP网页版的在线五子棋游戏源码
[实例简介] 五子棋onWeb v2008网页版的在线五子棋游戏,打开网页即可游戏,无需下载客户端,界面简单明了,经过测试,在相方网速良好的情况下可以相当流畅的进行游戏 [实例截图] [核心代码] [ ...
- 支付宝网站支付php代码,PHP原生支付宝pc+wap在线支付演示源码
PHP原生开发的支付宝电脑pc演示源码加支付宝wap演示源码,PHP支付宝pc+wap在线支付源码下载,PHP支付成功后正确返回支付信息 难易:中级 下载资源 下载积分: 920 积分 只要更改pay ...
最新文章
- CIO成功转型为战略性业务领导者的五个要领
- 9.LDA(线性判别分析)
- 洛谷T44252 线索_分治线段树_思维题
- 求一个张量的梯度_张量流中离散策略梯度的最小工作示例2 0
- 解决 min-width 在 IE6 中无效的方法
- DS1302驱动代码
- 万年历节气java代码_[分享]时钟万年历代码,供大家学习GUI
- 带你认识Oracle索引类型(全面总结)
- jsp定义java方法_jsp教程上:jsp的定义和使用方法
- 换你来,你会如何设计微信朋友圈?
- 关于射频同轴连接器的功率容量探讨
- BUAA 1489
- untiy 重置动画
- 飞桨OCR打标、训练、预测、部署全流程
- eNSP:如何解决防火墙上出现大量的提示信息呢?
- linux下解压iso镜像文件方法
- PDF文件有编辑权限,怎么编辑PDF文件?
- MySQL-老杜学习笔记
- 三维比例导引 matlab,三维比例导引律(源程序)
- 这样做数据可视化驾驶舱,高端大气,一目了然,领导不点赞都难
热门文章
- Boost.Bind的基础使用
- C++中的long long和__int64类型(转载)
- 案例:对比使用Java代码与EL表达式获取信息
- 6-SqlMapConfig.xml配置文件
- 引用管理器没有程序集_Excel结构化表与名称管理器
- win10动态壁纸怎么设置_电脑怎么设置动态桌面
- 智能水位检测系统proteus_浅谈智能视觉检测系统的6大优点
- oracle gg 有两个字段没同步到,GG配置Oracle同步到SQLServer
- 从不同步的代码块中调用了对象同步方法。_Java中Synchronized的用法
- UI设计加载动效趋势|可以认真学习临摹的素材模板