Я пытаюсь создать модуль для обеспечения частичной оплаты во время процесса оформления заказа.Magento - Ошибка при создании частичного платежа с использованием Paypal Express
Возьмем тележку с 2 продуктами, первый товар = 1000 € и второй товар = 500 €.
Пользователь должен заплатить 1500 €, но я разрешаю разделить платежи в два этапа, первый пользователь заплатит 1000 евро, а затем ему придется заплатить 500 евро.
При попытке использовать компенсацию Paypal Экспресс для этого, я всегда получаю эту ошибку:
PayPal gateway has rejected request.
Item total is invalid (#10426: Invalid Data).
The totals of the cart item amounts do not match order amounts
(#10413: Transaction refused because of an invalid argument.
See additional error messages for details).
В принципе, то, что я делаю изменения app/code/local/Mage/Paypal/Model/Express
перезапись значение Amount
:
$transaction_amount = $this->_quote->getBaseGrandTotal();
if ($this->_quote->getPartialpayment_price() > 0) {
$transaction_amount = $this->_quote->getPartialpayment_price();
}
$this->_api->setAmount($transaction_amount)
->setCurrencyCode($this->_quote->getBaseCurrencyCode())
->setInvNum($this->_quote->getReservedOrderId())
->setReturnUrl($returnUrl)
->setCancelUrl($cancelUrl)
->setSolutionType($solutionType)
->setPaymentAction($this->_config->paymentAction);
Как можно избежать того, что Paypal внутренне проверяет, чтобы сравнить окончательную сумму с суммой товаров?