osCommerce 支付模块分两类:
支付模块至少包含两个文件:
1. 线下付款方式:
线下付款方式一般只显示支付信息 和 在订单邮件中将付款方式发送给客户 编写该类模块可参考系统内置的货到付款方式moneyorder.php
2. 在线付款方式:
在线付款方式一般与第三方支付公司签约,实现: 订单预生成 - 第三方平台付款 - 返回网站(同步/异步对账)该类付款方式可参考系统内置的 Paypal付款方式
类结构如下:
<?php
/*
$Id$
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
class moneyorder { //类名 与 模块核心文件名同
var $code, $title, $description, $enabled;
// class constructor //类结构
function moneyorder() {
global $order;
$this->code = 'moneyorder';
$this->title = MODULE_PAYMENT_MONEYORDER_TEXT_TITLE;
$this->description = MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION;
$this->sort_order = MODULE_PAYMENT_MONEYORDER_SORT_ORDER;
$this->enabled = ((MODULE_PAYMENT_MONEYORDER_STATUS == 'True') ? true : false);
if ((int)MODULE_PAYMENT_MONEYORDER_ORDER_STATUS_ID > 0) {
$this->order_status = MODULE_PAYMENT_MONEYORDER_ORDER_STATUS_ID;
}
if (is_object($order)) $this->update_status();
$this->email_footer = MODULE_PAYMENT_MONEYORDER_TEXT_EMAIL_FOOTER; //付款方式邮件附加信息
}
// class methods
function update_status() { //模块状态判断方法
}
function javascript_validation() { //信用卡验证js方法
}
function selection() { //模块选择输出
}
function pre_confirmation_check() { //预备检查
}
function confirmation() { //付款方式确认信息
}
function process_button() { //表单编码加密供第三方处理
}
function before_process() { //生成订单前的操作
}
function after_process() { //生成订单后的操作
}
function get_error() { //错误调试
return false;
}
function check() { //模块检查
}
function install() { //模块安装
}
function remove() { //模块删除
}
function keys() { //模块变量
}
}
?>