支付配置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各大支付平台在线支付集成源码相关推荐

  1. 微信支付开发,基于SpringBoot+Vue架构的Java在线支付项目

    目录 前言 1. 支付安全 1.1 对称加密和非对称加密 1.2 身份认证 1.3 摘要算法 1.4 数字签名和数字证书 2. 项目初期 2.1 构建测试 2.2 引入Swagger 2.3 引入lo ...

  2. Dyson如何打造多源融合的招聘大数据平台

    探码-Dyson可以帮助客户打造信息最全.覆盖地区及行业最广的招应聘信息平台,实现每个时段自动抓取更新招应聘相关的工作信息:致力打造成为企业人才招选.储备.用户查找工作的首选平台. 找工作难,招员工难 ...

  3. 最新版苹果cms源码韩剧TV电影视频在线观看网站源码

    韩剧TV电影视频在线观看网站源码 韩剧TV苹果cmsv10模板(PC+WAP) 将解压"hanju"."hanju-m"文件夹模板上传至template文件夹 ...

  4. jquery二维码生成插件jquery.qrcode.js在线生成二维码

    一代巨匠金庸先生驾鹤西去,谢谢您的作品,陪我度过儿时的时光 –2018.10.31 一.场景再现 由于业务需求,经常会将访问链接分享给别人,方便其他客户访问我们的业务.在本周的需求中,我们需要根据地址 ...

  5. web农行支付php示例,ecshop,shopex完美实现农业银行(农行)在线支付接口

    最近为客户开发了一个ecshop的农业银行在线支付的插件.分享一下我的经验. 农行开发了这个在线支付接口,但是主要是java版本的.那么我们的ecshop怎么跟他的接口通信呢? 农行给了一个解决方案, ...

  6. 视频图片加文字的二维码怎么做?教你在线制作二维码

    想要把视频.图片以及文字做成二维码的时候,要怎么操作呢?其实,方法非常的简单,只需要使用操作简单的二维码生成器(https://www.jzx.com/)就能够快速完成二维码制作的操作.下面,给大家分 ...

  7. 超好用的大数据分析平台分享,SuccBI 一站式大数据分析平台

    SuccBI 一站式大数据分析平台融合了数据汇集.加工.智能调度.自助分析可视化.中国式报表等功能为企业提供一站式的大数据分析处理能力. 数据汇集.加工 连接各类分散的数据并进行加工.清洗.调度.元数 ...

  8. php 五子棋源联机版_PHP网页版的在线五子棋游戏源码

    [实例简介] 五子棋onWeb v2008网页版的在线五子棋游戏,打开网页即可游戏,无需下载客户端,界面简单明了,经过测试,在相方网速良好的情况下可以相当流畅的进行游戏 [实例截图] [核心代码] [ ...

  9. 支付宝网站支付php代码,PHP原生支付宝pc+wap在线支付演示源码

    PHP原生开发的支付宝电脑pc演示源码加支付宝wap演示源码,PHP支付宝pc+wap在线支付源码下载,PHP支付成功后正确返回支付信息 难易:中级 下载资源 下载积分: 920 积分 只要更改pay ...

最新文章

  1. CIO成功转型为战略性业务领导者的五个要领
  2. 9.LDA(线性判别分析)
  3. 洛谷T44252 线索_分治线段树_思维题
  4. 求一个张量的梯度_张量流中离散策略梯度的最小工作示例2 0
  5. 解决 min-width 在 IE6 中无效的方法
  6. DS1302驱动代码
  7. 万年历节气java代码_[分享]时钟万年历代码,供大家学习GUI
  8. 带你认识Oracle索引类型(全面总结)
  9. jsp定义java方法_jsp教程上:jsp的定义和使用方法
  10. 换你来,你会如何设计微信朋友圈?
  11. 关于射频同轴连接器的功率容量探讨
  12. BUAA 1489
  13. untiy 重置动画
  14. 飞桨OCR打标、训练、预测、部署全流程
  15. eNSP:如何解决防火墙上出现大量的提示信息呢?
  16. linux下解压iso镜像文件方法
  17. PDF文件有编辑权限,怎么编辑PDF文件?
  18. MySQL-老杜学习笔记
  19. 三维比例导引 matlab,三维比例导引律(源程序)
  20. 这样做数据可视化驾驶舱,高端大气,一目了然,领导不点赞都难

热门文章

  1. Boost.Bind的基础使用
  2. C++中的long long和__int64类型(转载)
  3. 案例:对比使用Java代码与EL表达式获取信息
  4. 6-SqlMapConfig.xml配置文件
  5. 引用管理器没有程序集_Excel结构化表与名称管理器
  6. win10动态壁纸怎么设置_电脑怎么设置动态桌面
  7. 智能水位检测系统proteus_浅谈智能视觉检测系统的6大优点
  8. oracle gg 有两个字段没同步到,GG配置Oracle同步到SQLServer
  9. 从不同步的代码块中调用了对象同步方法。_Java中Synchronized的用法
  10. UI设计加载动效趋势|可以认真学习临摹的素材模板