如何以编程方式在Prestashop中添加额外费用?

如何以编程方式在Prestashop中添加额外费用?,prestashop,prestashop-1.6,prestashop-1.7,Prestashop,Prestashop 1.6,Prestashop 1.7,很棒的社区。我需要在prestashop的订单上加一笔额外的费用。我已经开发了一个定制的支付模块,它按预期工作。我只是找不到任何关于如何将额外费用(可在支付模块中配置)添加到购物车、发票以及任何需要的地方的信息。我找到的所有信息,答案链接,在市场上购买模块。我买不起。所以,如果你能解释一下这个问题,我将不胜感激 我正在使用PS 1.6和1.7.x.实现的最佳方法是: 将新产品添加到目录中,称为“额外费用” 为其可见性选择“Nowhere”,并设置与您试图收取的额外费用相匹配的价格 重写Cart类

很棒的社区。我需要在prestashop的订单上加一笔额外的费用。我已经开发了一个定制的支付模块,它按预期工作。我只是找不到任何关于如何将额外费用(可在支付模块中配置)添加到购物车、发票以及任何需要的地方的信息。我找到的所有信息,答案链接,在市场上购买模块。我买不起。所以,如果你能解释一下这个问题,我将不胜感激


我正在使用PS 1.6和1.7.x.

实现的最佳方法是:

  • 将新产品添加到目录中,称为“额外费用”
  • 为其可见性选择“Nowhere”,并设置与您试图收取的额外费用相匹配的价格
  • 重写Cart类中的getOrderTotal()方法,以添加一个新条件,说明如果选择了特定的支付模块,“额外费用”产品应自动添加到Cart(使用$this->updateQty(1,$id\u product\u Extra\u fee);)
  • 确保处理买家决定切换到其他付款方式的情况(然后从购物车中移除此产品)

  • 这将自动填充发票、确认电子邮件、管理面板中的订单详细信息等。

    谢谢您的输入。事实上,经过数小时的搜索,我找到了这个解决方案。但是有一个缺点,也许你知道如何解决:管理员可以在支付模块的配置中配置额外费用。因此,额外费用是给定订单总成本的%,因此“假冒”产品的价格是可变的。如何处理?在将价格添加到购物车之前,我是否需要通过编程更改价格?是的,一种正确的方法是为该产品/客户“即时”创建特定价格。这种功能在PrestaShop中本机不可用,因为大多数支付解决方案都禁止这种功能(例如,检查PayPal ToS,其中特别提到了这一点)。