Уважаемые знатоки, требуется Ваша помощь. Добавлена новая платежная система на сайт. Всё отлично работает до момента проверки существования заказа в базе.
Файл обработчика проверяет на правильность полученные данные, проходит проверку зашифрованных данных и застревает на функции checkBill. При включенном DEBUG получаю ошибку о невозможности проверить номер заказа с заданной суммой. В базе заказ с таким номером имеется, сумма так же правильная, но тем не менее проверка не проходит.
Код функции
public function checkBill($bill_id, $payment){
$DBC=DBC::getInstance();
$query='SELECT bill_id, sum FROM '.DB_PREFIX.'_bill WHERE bill_id=? AND status=0';
$stmt=$DBC->query($query, array($bill_id, $payment));
if(!$stmt){
return false;
}
$ar=$DBC->fetch($stmt);
if(number_format($payment, 2)!=number_format($ar['sum'], 2)){
return false;
}
return true;
}
Дебагер показывает что срабатывает if(!$stmt) и возвращает false, хотя как и говорил параметры $bill_id и $payment передаются нормально. Что я не так делаю? В чем может быть ошибка?