Код этой ошибки выдается при несоответствии сумм к оплате, пришедшей от кассы и взятой из документа оплаты.
Вот часть кода (/bitrix/modules/sale/handlers/paysystem/yandex/handler.php) в модуле "Интернет-магазин" версии 16.5.7, отвечающего за проверку сумм и формирование кода ошибки, в случае их несоответствия.
Код |
---|
if ($this->isCorrectSum($payment, $request))
{
$data['CODE'] = 0;
}
else
{
$data['CODE'] = 100;
$errorMessage = 'Incorrect payment sum';
$result->addError(new Error($errorMessage));
PaySystem\ErrorLog::add(array(
'ACTION' => 'checkOrderResponse',
'MESSAGE' => $errorMessage
));
} |
Код |
---|
private function isCorrectSum(Payment $payment, Request $request)
{
$sum = $request->get('orderSumAmount');
$paymentSum = $this->getBusinessValue($payment, 'PAYMENT_SHOULD_PAY');
return PriceMaths::roundByFormatCurrency($paymentSum, $payment->getField('CURRENCY')) == PriceMaths::roundByFormatCurrency($sum, $payment->getField('CURRENCY'));
} |