Как добавить дополнительную скидку в Paypal? - PullRequest
0 голосов
/ 07 января 2019

Я использую Magento V. 1.9 и внедрил модуль дополнительной платы, который добавляет отрицательную скидку (например, + 5 €), когда общая сумма ниже 50 €.

Функция полностью реализована во всем магазине, и я уже могу покупать вещи по счету.

Когда я хочу что-то купить с 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);
    }
...