ecshop开发日志之支付插件开发

时间:2023-03-09 14:47:29
ecshop开发日志之支付插件开发

ecshop开发一个支付插件的方法(例如要新建一个为paytest-----支付测试)
1.languages/zh_cn/payment/目录下新建一个paytest.php文件
  内容如下:

<?php
global $_LANG; $_LANG['paytest'] = '支付插件的名称';//$_LANG['这里的字段一定要与文件名保持一直,否则在后台不出现支付方式的名称']
$_LANG['paytest_desc'] = '这里是插件的描述信息';
//之后的项目根据不同的支付方式自定义即可一般以$_LANG['paytest_xxx'] = '';的形式展现
?>

2.includes/modules/payment目录下新建paytest.php(必须与步骤1新建文件名相同)
代码如下:双//注释部分是需要注意的地方

 <?php
if (!defined('IN_ECS'))
{
die('Hacking attempt');
} $payment_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/payment/paytest.php';
//paytest.php这个文件名就是languages对应语言包的payment下的文件名 if (file_exists($payment_lang))
{
global $_LANG; include_once($payment_lang);
} /* 模块的基本信息 */
if (isset($set_modules) && $set_modules == TRUE)
{
$i = isset($modules) ? count($modules) : 0; /* 代码 */
$modules[$i]['code'] = basename(__FILE__, '.php'); /* 描述对应的语言项 */
$modules[$i]['desc'] = 'paytest_desc';//这是对支付方式的描述语言包里对应为$_LANG['paytest_desc']
//下面的选项自定义填写这里不做修改
/* 是否支持货到付款 */
$modules[$i]['is_cod'] = '0'; /* 是否支持在线支付 */
$modules[$i]['is_online'] = '0'; /* 作者 */
$modules[$i]['author'] = 'ECSHOP TEAM'; /* 网址 */
$modules[$i]['website'] = 'http://www.ecshop.com'; /* 版本号 */
$modules[$i]['version'] = '1.0.0'; /* 配置信息 */
$modules[$i]['config'] = array();
/*
$modules[$i]['config'] = array(
array('name' => 'paytest_test', 'type' => 'text', 'value' => ''),
array('name' => 'paytest_pay_method', 'type' => 'select', 'value' => '')
);
//如果按照注释中方法写配置信息
语言文件中应该加入
$_LANG['paytest_test'] = '';
$_LANG['paytest_pay_method'] = '';
$_LANG['paytest_pay_method'][0] = '';
$_LANG['paytest_pay_method'][1] = '';
$_LANG['paytest_pay_method'][2] = '';
*/
return;
} /**
* 类
*/
class paytest//类名与文件名保持一直
{
/**
* 构造函数
*
* @access public
* @param
*
* @return void
*/
//php5.3版本以上__construct形式构造函数需要在类名同名方法的前面定义
function __construct()
{
$this->paytest();
} function paytest()
{
}
/**
* 提交函数
*/
function get_code()
{
/*your code*/
return;
} /**
* 处理函数
*/
function response()
{
/*your code*/
return;
}
} ?>

3.到此,在后台支付方式下可以出现新开发的paytest的支付方式