如何为Paypal添加额外的折扣?

时间:2019-01-07 15:04:53

标签: php magento-1.9

我使用Magento V.1.9,并实施了额外费用模块,当总金额低于50欧元时,该模块会增加负折扣(例如+5欧元)。

该功能已在整个商店中完全实现,我已经可以用发票购买商品了。

当我想用PayPal购买东西时,出现错误“出现错误,请联系服务器管理员”。如何使用PayPal处理额外的折扣? (我已经尝试过将折扣添加到PayPal中。)

我已经尝试通过新文章(观察者)添加折扣。我已经尝试通过观察者添加折扣,同时覆盖TOTAL_DISCOUNT。

//添加文章(错误:有一个错误...)

public function paypalPrepareLineItems($observer)
    {

        /* @var $cart Mage_Paypal_Model_Cart */
        $label = 'Mindestmengenzuschlag';
        $qty = 1;
        $cart = $observer->getEvent()->getPaypalCart();
        $address = $cart->getSalesEntity()->getIsVirtual() ?
            $cart->getSalesEntity()->getBillingAddress() : $cart->getSalesEntity()->getShippingAddress();
        $feeAmount = $address->getExtraFeeRuleAmount();
        $cart->addItem($label, $qty, $feeAmount);

        return $this;
    }

//更新总计(错误:金额不相同...)

public function paypalPrepareLineItems($observer)
    {

        /* @var $cart Mage_Paypal_Model_Cart */
        $cart = $observer->getEvent()->getPaypalCart();
        $address = $cart->getSalesEntity()->getIsVirtual() ?
            $cart->getSalesEntity()->getBillingAddress() : $cart->getSalesEntity()->getShippingAddress();
        $feeAmount = $address->getExtraFeeRuleAmount();
        $cart->updateTotal(Mage_Paypal_Model_Cart::TOTAL_DISCOUNT, $feeAmount);
    }

0 个答案:

没有答案