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的支付方式
ecshop开发日志之支付插件开发的更多相关文章
- ecshop开发日志之手机端虚拟商品自动发货
在ecshop官方模版收,web端的虚拟商品购买后不能像pc端那般直接在付款后出现虚拟商品的卡号,密码,截止日期一下为让手机购买也可以在付款后自动显示发货并能显示卡号密码截止日期首 先找到pc端的fl ...
- ecshop开发日志之虚拟商品发送邮件通知
购买虚拟商品,系统会在支付后自动发送邮件到用户填写的邮件地址中,追踪过程如下首先在订单列表中可以获得到处理订单的php文件为flow.php,之后在最后一步url地址显示为http://localho ...
- EcShop开发手册
Ecshop文件结构 ecshop文件架构说明 ECShop 结构图及各文件相应功能介绍 ECShop upload 的目录 ┣ activity.php 活动列表 ┣ affiche.php 广告处 ...
- PHP微信支付开发之扫描支付(模式二)后如何回调
其实在写这篇文章的时候感觉自己已经落伍了,不过笔者在百度上搜索"微信支付开发之扫描支付(模式二)后如何回调"寻找答案时,发现依旧有很多朋友没有解决这个问题,所以就把自己的解决思路分 ...
- 《Invert》开发日志05:终止
今天终于看了久闻大名的<独立游戏大电影>,然后我就做了一个坑爹的决定:终止“Invert”项目的开发.没错,在还没正式开工之前,我就决定停掉这个项目,而且是永久终止.做这个决定并不是因为觉 ...
- [课程设计]任务进度条&开发日志目录
任务进度条&开发日志目录 周期 时间 任务 Sprint One 11.14 ● Scrum团队分工及明确任务1.0 Sprint One 11.15 ● Scr ...
- NET-SNMP开发——日志输出
NET-SNMP开发——日志输出 net-snmp的日志输出功能是很强大的,与日志输出相关函数声明在net-snmp-5.7.3\include\net-snmp\library\snmp_loggi ...
- IOS开发之—— iOS 支付 [支付宝、银联、微信]
支付宝iOSsdk官方下载sdk地址:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId ...
- 微信支付开发(11) Native支付
关键字:微信公众平台 微信支付 Native原生支付作者:方倍工作室原文:http://www.cnblogs.com/txw1958/p/wxpay-native.html 由于微信支付接口更新,本 ...
随机推荐
- rem和em和px vh vw和% 移动端长度单位
1.rem和em.px 首先来说说em和px的关系 em是指字体高度 浏览器默认1em=16px,所以0.75em=12px;我们经常会在页面上看到根元素写的font-size:65%; 这样em就成 ...
- 关于js对象值的传递
结合红宝书和网上的一些文章,记录下自己对关于js对象的值的传递的一些理解. js对象是保存在堆内存中的,当把对象赋值给变量时,是把对象在堆内存的引用(地址)赋值给了变量,变量通过地址来访问对象.下面来 ...
- DOM事件对象
触发DOM上的事件时会产生一个事件对象event. event的内容:与事件有关的信息,导致事件的元素,事件的类型及其他与特定事件相关的信息. event对象会传入到事件处理程序中. 一.DOM 中的 ...
- HTML注释简介
HTML注释简介 在编写HTML代码时,我们经常要在一些关键代码旁做一下注释,这样做的好处很多,比如:方便理解.方便查找或方便项目组里的其它程序员了解你的代码,而且可以方便以后你对自己代码进行修改 ...
- hibernate-annotation CascadeType.PERSIST不起作用的解决方法
有如下两个实体类 , Student和Grade 为多对一关系. Student.java @Entity public class Student { private Integer id; pri ...
- Permutations,Permutations II,Combinations
这是使用DFS来解数组类题的典型题目,像求子集,和为sum的k个数也是一个类型 解题步骤: 1:有哪些起点,例如,数组中的每个元素都有可能作为起点,那么用个for循环就可以了. 2:是否允许重复组合 ...
- Android之 compileSdkVersion, minSdkVersion, and targetSdkVersion
在一年之中,也有可能只是几个月后,你会发布你的Android应用程序.但是这中间有可能会发布新的版本的Android系统,比如:6.0+. 你肯定希望你的应用可以向前兼容,当用户升级到新的Androi ...
- 算法分析-动态规划(cut_rod)
什么是动态规划,我们要如何描述它? 动态规划算法通常基于一个递推公式及一个或多个初始状态. 当前子问题的解将由上一次子问题的解推出.使用动态规划来解题只需要多项式时间复杂度, 因此它比回溯法.暴力法等 ...
- 各种非标232,485协议,自定义协议转modbus协议模块定制开发,各种流量计协议转modbus,
工业现场经常会碰到通过485或者232采集各类仪表数据,但是很多早期的仪表和设备不支持标准modbus协议,而是采用自定义的协议,这些协议数据由plc或者dcs系统来实现采集,不仅费时麻烦,而且不方便 ...
- Qt for Android遇到的几个错误解决[Win7 + Qt5.6 +jdk 8u91]
[1]SDK Manager无法更新Android SDK安装后需要运行SDK Manager下载安装包,默认从google网站下载,但被GWF和谐了,感谢一位网友提供的镜像站点.具体步骤是:运行SD ...