二次开发Opencart增加支付方式

二次开发Opencart增加支付方式

电商网站一般都对应了很多的支付方式。例如微信支付、支付宝支付、银联支付。

Opencart新增支付方式是比较容易的,可以通过插件很方便的扩展支付方式。

以下是按照过程,假设安装pangxieke_payment这种支付方式

1.将文件放在网站根目录

前台文件

技术二次开发QQ

/catalog/controller/payment/pangxieke_payment.php

/catalog/language/engish/payment/pangxieke_payment.php

/catalog/model/payment/pangxieke_payment.php

/view/theme/default/template/payment/pangxieke_payment.tpl

后台文件

/admin/controller/payment/pangxieke_payment.php

/admin/language/engish/payment/pangxieke_payment.php

/view/theme/default/template/payment/pangxieke_payment.tpl

2.到后台安装插件

路径:扩展功能/支付管理

找到对应的pangxieke_payment 点击install,会向extension表写入支付方式

配置相关参数:key等,及网站支付状态

3.选择支付方式并调用

在支付页面,选择支付方式页,会查询model/payment下所有的安装并开启的支付方式

原理:

1.选择支付方式时,会ajax加载catalog/checkout/payment_method.php

$results = $this->model_extension_extension->getExtensions(‘payment’);//查询安装的支付模块

foreach ($results as $result) {

if ($this->config->get($result['code'] . '_status')) {//支付开启状态

$this->load->model('payment/' . $result['code']);

//在已经开启支付方式中,还可以判断当前订单地址是否使用

$method = $this->{'model_payment_' . $result['code']}->getMethod($this->session->data['payment_address'], $total);

if ($method) {

if ($recurring) {

if (method_exists($this->{'model_payment_' . $result['code']}, 'recurringPayments') && $this->{'model_payment_' . $result['code']}->recurringPayments()) {

$method_data[$result['code']] = $method;

}

} else {

$method_data[$result['code']] = $method;

}

}

}

}

model/extension/extension.php文件

class ModelExtensionExtension extends Model {

function getExtensions($type) {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "extension WHERE `type` = '" . $this->db->escape($type) . "'");

return $query->rows;

}

}

1、创建订单后,支付时,跳转到选中的支付方式

对应文件catalog/checkout/done.php

$data['payment'] = $this->load->controller('payment/' . $this->session->data['payment_method']['code']);

2.加载支付方式对应的index方法,通过各种内嵌,或者跳转等各种方式,展示支付页面

3.用户填写信用卡等信息,发起支付。

4.支付公司通过notice地址,异步返回信息

5.接收通知,处理订单状态。页面作跳转,跳转到支付成功页面。

二次开发 技术交流 QQ扫一扫

相关新闻

穿越火线按住说话是哪个键_穿越火线按v说话
365bet体育在线大陆

穿越火线按住说话是哪个键_穿越火线按v说话

🕒 07-27 👽 1628
美国高通公司中国区董事长孟樸:“科技创新是城市发展的核心动力,武汉始终敢为人先”
《森林》最新远程武器排行榜
365速发彩票app下载旧版

《森林》最新远程武器排行榜

🕒 08-24 👽 2434
3.1.1 存储器的分类(半导体-磁芯-磁表面-光存储-ROM-RAM-永久&非永久-内存-外存-Cache)
7 个免费 Windows 主题的绝佳下载位置
365bet娱乐网站

7 个免费 Windows 主题的绝佳下载位置

🕒 08-01 👽 2998
榴莲树长什么样子图片(榴莲树长什么样子图片高清)
365速发彩票app下载旧版

榴莲树长什么样子图片(榴莲树长什么样子图片高清)

🕒 07-17 👽 6321