Неправильно сформированное числовое значение, встречающееся в PayPal

Произошла ошибка в моем модуле PayPal на моем сайте Prestashop. Это говорит

[30-Oct-2018 10:37:19 Австралия / Сидней] Примечание PHP: неверно сформированное числовое значение, встречающееся в /home/public_html/modules/npaypalpro/ajax.php в строке 214

Строка 214

$amountCheck += number_format($item['quantity'] * $item['price'], 2);

Есть идеи, что может быть причиной?

PHP7.1 на сервере

PayPal сказал

Я быстро проверил журналы транзакций и обнаружил несоответствие в общей сумме и сумме товара.

Для одного заказа общая сумма составляет 2337,3 австралийских долларов, но сумма товара
детали AUD 2339.30

Детали товара:

Hikvision 6 МБ — 180,90 x 7 (количество) = 1266,30 AUD Hikvisiion 4
канал — 535,50 х 2 (количество) = 1071,00 AUD Доставка — 0 Ваучер
Налоги — 2,00 AUD — которые не добавляются в общую сумму.

Не могли бы вы попросить веб-разработчика проверить, как налоги ваучера
добавляется или чтобы увидеть, почему это не проходит в вызове API?

Полная функция

function totalAmountCheck($amount, $items)
{
$amountCheck = $diff = 0;

foreach ($items as $item)
$amountCheck += number_format($item['quantity'] * $item['price'], 2);

if ($amountCheck != $amount)
$diff = number_format($amountCheck - $amount, 2);

return $diff;

}

0

Решение

Проблема заключается в формате содержимого переменных, вы можете решить его, заменив его следующим:
$amountCheck += number_format((int)$item['quantity'] * (float)$item['price'], 2);

0

Другие решения

Paypal хочет точную цену.

Например:

Если ваша корзина стоит 25 евро за 2 товара плюс 5 евро за доставку, вы также должны пройти доставку.

в этом случае вы должен пройти Ваучер Налоги.

Paypal говорит: вы хотите 2339,30 AUD, но ваша корзина стоит на 2 AUD меньше.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector