广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > 二次开发ecshop支付插件

二次开发Ecshop二次开发

二次开发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()方法的调用。