分别为Opencart中的支付网关获取运费

时间:2015-01-30 14:37:38

标签: php opencart

我正在构建一个自定义付款模块,我需要单独传递产品价格(子总额),税金和运费,以便网关为用户创建并通过电子邮件发送发票。

我设法找到了如何使用$this->cart->getSubTotal()

获取子总数

以及使用$this->cart->getTaxes();

的税金

但我无法找到如何只获得运费

有人可以告诉我如何单独为该订单选择运费,以便我可以转到支付网关

2 个答案:

答案 0 :(得分:0)

嗯,你需要了解Open Cart的逻辑 http://docs.opencart.com/developer-guide

每个控制器模型视图语言都扩展到每个对象。

Open cart logic

发现运费将结帐运费信息api /运费

查看购物车提示中的所有运费

                // Shipping Methods
            $json['shipping_methods'] = array();

            $this->load->model('extension/extension');

            $results = $this->model_extension_extension->getExtensions('shipping');

            foreach ($results as $result) {
                if ($this->config->get($result['code'] . '_status')) {
                    $this->load->model('shipping/' . $result['code']);

                    $quote = $this->{'model_shipping_' . $result['code']}->getQuote($this->session->data['shipping_address']);

                    if ($quote) {
                        $json['shipping_methods'][$result['code']] = array(
                            'title'      => $quote['title'],
                            'quote'      => $quote['quote'],
                            'sort_order' => $quote['sort_order'],
                            'error'      => $quote['error']
                        );
                    }
                }
            }

结帐的这个控制器是交易的成功过程

catalog/controller/checkout/success.php

这是最后确认的付款,并清除会话帖确认下次交易的付款。

答案 1 :(得分:0)

我相信你正在寻找这个,对于opencart 2.x

$data['totalshippingcost'] =  $this->session->data['shipping_method']['cost'];

此致