в коннтроллере замени функцию на:
public function callback() {
$xml = base64_decode($this->request->post['operation_xml']);
$signature = base64_encode(sha1($this->config->get('liqpay_signature') . $xml . $this->config->get('liqpay_signature'), TRUE));
$posleft = strpos($xml, 'order_id');
$posright = strpos($xml, '/order_id');
$order_id = substr($xml, $posleft + 9, $posright - $posleft - 10);
$posleft = strpos($xml, 'status');
$posright = strpos($xml, '/status');
$is_success = substr($xml, $posleft + 7, $posright - $posleft - 8);
$fhliqpaylog = fopen("system/logs/liqpaylog.txt", "a");
fwrite ($fhliqpaylog, "------------BEGIN-DEBUG-CALLBACK-----------n");
fwrite ($fhliqpaylog,"Order_id=" . $order_id . "n" ."XML=" . $xml . "n" . "Our sign=" . $signature . "n" . "Liqpaysign=" . $this->request->post['signature'] . "n" . "Result=" . $is_success. "n");
if ($signature == $this->request->post['signature'] and $is_success == "success") {
$this->load->model('checkout/order');
$this->model_checkout_order->confirm($order_id, $this->config->get('config_order_status_id'));
}
}
и выставь права на запись в папке логов... там же смотри ошибки после трансакций...