@WalkersRei

Не обновляется статус в базе данных?

Всем доброго времени суток, вкратце суть таково, сайт генерирует hash и перенаправляет на страницу оплаты liqpay, после удачной оплаты. Liqpay отправляет пост запрос с параметром data. Собственно код написан,но статус в БД не обновляется, уже как не проверял не нашел ошибку. Как говорится, со стороны виднее
<?php
$config = array(
	'host' => 'localhost',
	'user' => '',
	'pass' => '',
	'base' => '',
);

$db = new mysqli($config['host'], $config['user'], $config['pass'], $config['base']);
$db->set_charset("utf8");

if($db->connect_errno) {
    exit('<center>Идут технические работы!</center>');
}	

	if( isset($_POST['data']) && isset($_POST['signature'])){
		$data = $_POST['data'];
		$sign = $_POST['signature'];
		$signature = base64_encode(sha1($private_key.$data.$private_key, 1));
		if( $signature == $sign ){
		$result = json_decode( base64_decode($_POST['data']) );
			if( $result->status == 'success' ){
				$id = $result->order_id;
				//$invoice = $this->invoicesModel->getInvoiceById($result->order_id);
				//$userid = $invoice['user_id'];
				$db->query("UPDATE `invoices` SET `invoice_status` = '1' WHERE `invoice_id` = $id");
				
				//$this->usersModel->upUserBalance($userid, $result->amount);
				//$this->invoicesModel->updateInvoice($result->order_id, array('invoice_status' => 1));
			}
		}
	}
?>
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
SevaShpun
@SevaShpun
Developer: Python, PHP, C#, C++, NodeJS
Что возвращает $result ? И чекни $result->status действительно success.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Deleteduser
Разве не так надо?
WHERE `invoice_id` = '".$id."' ");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы