• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > ThinkPHP3.2接入支付宝支付接口(PC端)

ThinkPHP3.2接入支付宝支付接口(PC端)

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了ThinkPHP3.2,支付宝支付接口等相关知识,希望对您有所帮助

整个接口核心类文件

alipay.config.php是相关参数的配置文件

alipayapi.php 是支付宝接口入口文件

notify_url.php 是服务器异步通知页面文件;

return_url.php 是页面跳转同步通知文件;


第一步:

把接口包放到项目中  在ThinkPHP的框架文件下,找到Library进入,再进入Vendor,在Vendor文件夹下,新建文件夹Alipay,把支付宝作为第三方类库引入。然后,复制支付宝接口文件包中上面4个文件。一共4个文件放入项目Alipay中


ThinkPHP3.2接入支付宝支付接口(PC端)


打开Submit.php和Notify.php把以下两段代码注释掉;

require_once("alipay_core.function.php");require_once("alipay_md5.function.php");

因为在项目中会通过vendor来引入4个核心文件,所以,这里不再需要导入。


第二步:

1、在配置文件中Conf/Config.php文件中对支付宝相关参数进行配置:

'alipay_config'=>array(    'partner'        => '*****',  //这里是你在成功申请支付宝接口后获取到的PID;    //收款支付宝账号,一般情况下收款账号就是签约账号    'seller_id'    => '*****',      //安全检验码,以数字和字母组成的32位字符    'key'            => '***',    //这里是你在成功申请支付宝接口后获取到的Key    //签名方式 不需修改    //这里是异步通知页面url,提交到项目的Pay控制器的notifyurl方法;    'notify_url'=>'http://update.my/index.php/Home/Pay/notifyurl.html',    //这里是页面跳转通知url,提交到项目的Pay控制器的returnurl方法;    'return_url'=>'http://update.my/index.php/Home/Pay/returnurl.html',    'sign_type'    => strtoupper('MD5'),    //字符编码格式 目前支持 gbk 或 utf-8    'input_charset'=> strtolower('utf-8'),    //ca证书路径地址,用于curl中ssl校验    //请保证cacert.pem文件在当前文件夹目录中    'cacert'    => VENDOR_PATH.'Alipay/cacert.pem',    //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http    'transport'    => 'http',    // 支付类型 ,无需修改    'payment_type' => "1",    // 产品类型,无需修改    'service' => "create_direct_pay_by_user",    //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑    // 防钓鱼时间戳  若要使用请调用类文件submit中的query_timestamp函数    'anti_phishing_key' => "",    'exter_invoke_ip' => "",),    //以上配置项,是从接口包中alipay.config.php 文件中复制过来,进行配置;'alipay' =>array(    //支付成功跳转到的页面,我这里跳转到项目的User控制器,myorder方法,并传参payed(已支付列表)    'successpage'=>'/index.php/',    //支付失败跳转到的页面,我这里跳转到项目的User控制器,myorder方法,并传参unpay(未支付列表)    'errorpage'=>'/index.php/Home/Test',),

2、新建一个PayController控制器代码如下:

<?phpnamespace Home\Controller;use Think\Controller;class PayController extends Controller{       //在类初始化方法中,引入相关类库           public function _initialize() {        vendor('Alipay.Corefunction');        vendor('Alipay.Md5function');        vendor('Alipay.Notify');        vendor('Alipay.Submit');         }                     /*该方法其实就是将接口文件包下alipayapi.php的内容复制过来          然后进行相关处理        */    public function doalipay(){        $alipay_config=C('alipay_config');        $order_sn = filter_var(I('get.order_sn'),FILTER_SANITIZE_NUMBER_INT);        if(empty($order_sn)) {            //$this->redirect('Myorder/index',3,'您提交的订单号无效,请提交正确的订单');            echo "<script>alert('您提交的订单号无效,请提交正确的订单!');window.location.href='".U('/Home/Pay/index')."';</script>";            exit();        } else {            $order = M()->table('[meeting_order]')->where(array('trade_no'=>$order_sn))->find();               if(empty($order)) {                //$this->redirect('Myorder/index',3,'您提交的订单号未知,请提交正确的订单');                echo "<script>alert('您提交的订单号未找到,请提交正确的订单!');window.location.href='".U('/Home/Pay/index')."';</script>";                exit();            }            if($order['paystatus'] >0) {                //$this->redirect('Myorder/index',3,'请不要重复提交订单');                echo "<script>alert('请不要重复提交订单!');window.location.href='".U('/Home/Pay/index')."';</script>";                exit();     &nbs
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ThinkPHP3.2.3如何从php5升级到php7
  • 使用thinkphp3.2.3开发微信授权登录详细教程
  • ThinkPHP3.2接入支付宝支付接口(PC端)
  • Thinkphp3.2 畅言评论回推接口制作
  • 聊聊ThinkPHP3.2.3从php5升级到php7艰辛之路
  • 关于laravel5.6与thinkphp3.2使用redis共享session的方案

相关文章

  • ThinkPHP框架实现的邮箱激活功能示例
  • JavaScript怎么求两个数的最大公约数
  • Thinkphp5.1趣味实现学生扫码选座功能
  • Laravel Excel 的五个隐藏功能
  • Photoshop绘制逼真的篮球图标教程
  • PHP+Redis解决订单限流的实际问题
  • PS打造线描风格舞者壁纸平面作品设计制作教程
  • tp5怎么隐藏admin.php
  • PHP怎么实现正则去掉空格
  • 织梦熊掌号api自动提交代码

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Composer安装时要求输入授权用户名密码是怎么回事
    • 手把手教你在小程序中怎么实现悬浮按钮(代码示例)
    • Uniapp中怎么使用scrpll-view组件实现下拉刷新
    • Photoshop制作精致的橙色石纹立体字
    • Photoshop制作金属质感的工具图标
    • FCKeditor安装FLV视频插件,适用所有CMS
    • 四种Laravel ORM开启created_at的方法
    • Photoshop详细绘制金属质感的企业标志
    • PHP解密支付宝小程序的加密数据、手机号的示例代码
    • 如何解决“您的服务器没有安装这个php扩展”问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有