gpt4 book ai didi

Magento Observer for paypal_prepare_line_items 使用 paypal 添加新项目和小计扣除

转载 作者:行者123 更新时间:2023-12-02 11:57:30 25 4
gpt4 key购买 nike

我创建了一个自定义模块来为客户提供一些折扣费用。我已经引用过这个link创建客户费用折扣的自定义模块。

在这种情况下,当客户有自己的折扣点时,他们将应用购物车页面中的折扣点来减少小计和总计。这些更改在购物车和结帐页面等中运行良好。

我的问题是订单小计和总计未反射(reflect)在 Paypal 支付网关行项目中。

所以我编写了事件观察器来减去小计的折扣费用并添加新行到 Paypal 行项目。

下面的代码我尝试添加新的折扣费用和小计扣除行

<events>
<paypal_prepare_line_items>
<observers>
<modulename>
<type>singleton</type>
<class>modulename/observer</class>
<method>prepareItems</method>
</modulename>
</observers>
</paypal_prepare_line_items>
</events>

观察者核心是

<?php 
class Mycompany_Modulename_Model_Observer extends Mage_Core_Model_Abstract
{
const TOTAL_FEE = 'Fee';
const TOTAL_SUBTOTAL = 'subtotal';

public function prepareItems($observer)
{
$cart = $observer->getPaypalCart();

if($cart->getSalesEntity()->getFeeAmount())
{

$name = 'Custom Discount';
$qty = '1';
$amount = -1.00 * $cart->getSalesEntity()->getFeeAmount();
$identifier = NULL;

$cart->_shouldRender = true;

$item = new Varien_Object(array(
'name' => $name,
'qty' => $qty,
'amount' => (float)$amount,
));

$cart->_items[] = $item;

$cart->updateTotal();

}

return;

}

}

有人可以指出我正确的解决方案吗?

我需要添加 PayPal 订单项的折扣费用,小计将正确计算。

非常感谢任何帮助。

谢谢。

最佳答案

你可能已经明白了。但你不能做你正在尝试的事情,我不认为你可以访问_items。相反,做:


$cart->addItem($名称, $数量, $金额);

我认为不需要调用 updateTotal,我已经完成了前面的操作,并将金额添加到 Paypal 标准方法的总聚合金额中。我还没有测试过使用 API 而不是简单表单的其他方法。

关于Magento Observer for paypal_prepare_line_items 使用 paypal 添加新项目和小计扣除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com