微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Magento – 如何在结账过程中向订单添加发票费用

如何使用我的付款模块向订单添加发票费用?我想这应该在结账过程中通过我的付款方式模型完成.也许我应该创建一个项目/产品并添加到购物车/报价/订单对象?

我不知道如何做这些事情.请帮忙

解决方法:

虽然可能不是为了佯装.以下是向总计区域添加行的步骤的粗略说明,然后将您的费用添加到总计中.

在配置节点< global>< sales>< quote>< total>添加一个新条目(有关更多示例,请参阅app / code / core / Mage / Sales / etc / config.xml)

<paymentFee>
    <class>yourmodule/quote_address_total_paymentFee</class> <!-- A model -->
    <after>subtotal</after>
</paymentFee>

同样在config.xml中将以下内容添加到< global> …

<fieldsets>
    <sales_convert_quote>
        <payment_fee><to_order>*</to_order></payment_fee>
    </sales_convert_quote>
</fieldsets>

创建模型以计算费用.

class Your_Module_Model_Quote_Address_Total_Warranty extends Mage_Sales_Model_Quote_Address_Total_Abstract
{
    public function __construct()
    {
        $this->setCode('paymentFee');
    }

    public function collect(Mage_Sales_Model_Quote_Address $address)
    {
        // Check the payment method in use, if it is yours do...
        $address->setPaymentFee($fee);
        return $this;
    }

    public function fetch(Mage_Sales_Model_Quote_Address $address)
    {
        if ($address->getPaymentFee()) {
            $address->addTotal(array(
                'code'  => $this->getCode(),
                'title' => 'Your module payment message',
                'value' => $address->getPaymentFee()
            ));
        }
        return $this;
    }
}

在模块的设置中,将sales_flat_quote和sales_flat_order表修改add a payment_fee column.

<之后>配置中的值负责确定计算顺序,它可以是逗号分隔的总计代码列表,包括“税”,“折扣”等.您还可以指定< before>价值用于相同的目的. fetch()方法中的$address-> addTotal将执行更新总计的工作,即客户将收取的费用.有必要更改报价单和订单表,以便记录您显示的费用并显示管理员.

如果认不执行,也可以指定自己的渲染器,我也这样做但是更复杂.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐