亿世纪网站建设公司
当前所在位置:亿世纪网站建设公司 > 网站建设知识 > 网站建设知识

二次开发ecshop支付插件-讲座

发布时间:2013-03-20 当前栏目:网站建设知识 点击:次 文章作者:亿世纪

二次开发ecshop支付插件-讲座12上一讲座我们讲述了ecshop语言包lang的加载原理-讲座11 ,由于最近ecshop二次开发的项目比较多,而且周期也比较长,所以没来得及写教程。今天刚好做一个支付插件.让我又一次深刻的理解了ecshop支付插件的工作原理.

      首先我们知道ecshop支付插件,是在后台可以安装和卸载的。ecshop 数据库中有一个表ecs_payment .这个表就是用来存储ecshop支付方式的。

      ecshop的插件位于includes\modules\payment目录.文件的名称也就是支付方式的标志代码。

      每个支付插件类有两个方法。

     1: function get_code($order, $payment)

      2:function respond()

      说说上面两个方法,一个是获得支付页面提交的参数,第二个就是支付完后返回的动作处理函数.这个文件在跟目录的respond.php里面非常有用.

     我们看下支付后返回处理动作.

     $pay_code = !empty($_REQUEST['code']) ? trim($_REQUEST['code']) : '';

//获取首信支付方式
if (empty($pay_code) && !empty($_REQUEST['v_pmode']) && !empty($_REQUEST['v_pstring']))
{
    $pay_code = 'cappay';
}

//获取快钱神州行支付方式
if (empty($pay_code) && ($_REQUEST['ext1'] == 'shenzhou') && ($_REQUEST['ext2'] == 'ecshop'))
{
    $pay_code = 'shenzhou';
}

     这里返回要获得支付方式的参数,目的就是获取所用的支付方式名称,然后通过调用支付插件所在文件里面的返回处理函数.

      $plugin_file = 'includes/modules/payment/' . $pay_code . '.php';

        /* 检查插件文件是否存在,如果存在则验证支付是否成功,否则则返回失败信息 */
        if (file_exists($plugin_file))
        {
            /* 根据支付方式代码创建支付类的对象并调用其响应操作方法 */
            include_once($plugin_file);

            $payment = new $pay_code();
            $msg     = ($payment->respond()) ? $_LANG['pay_success'] : $_LANG['pay_fail'];
        }
        else
        {
            $msg = $_LANG['pay_not_exist'];
        }

       大家看下,都是为了respond()方法的调用。

关键字:二次开发(1)支付插件(1)

本站文章均有北京网站建设原创,转载请注明出处,文章地址:http://www.25ysj.com/jzzhishi/315.html

上一篇:北京网站建设一对一教您如何管理网站! 下一篇:网站建设前期做好准备,让你无后顾之忧
公司地址:北京市朝阳路中国第一商城B座2007室   邮箱:523010@qq.com
版权所有:亿世纪(北京)科技有限公司 2008-2020 京ICP备09107767号
网站关键词:北京网站建设|北京网站制作|北京网站建设公司