$timetoapprove = 10 * 24 * 3600; $from = Bootstrap::$main->now - $timetoapprove; $payu = new payu(); $payus = $payment->getAllForChannel('payu', $from, 5); if (is_array($payus)) { foreach ($payus as $p) { $prc = 100 * (Bootstrap::$main->now - $p['d_payment_create']) / $timetoapprove; if ($p['d_cancel']) { $r = $payu->cancel_payment($p); Tools::log('payu', ['cancel', $r, $p]); } elseif ($p['d_deadline'] + 3600 < Bootstrap::$main->now || $prc > 90) { $r = $payu->confirm_payment($p); Tools::log('payu', ['confirm', $r, $p]); } } } foreach ($guest->getCanceledGuests() ?: [] as $g) { $payments = $payment->getForGuest($g['id']); if (is_array($payments)) { foreach ($payments as $p) { $classname = $p['channel']; $classfile = __DIR__ . '/../lib/class/' . $classname . '.php'; if (!file_exists($classfile)) { continue; } require_once $classfile; $c = new $classname(); $c->cancel_payment($p); } } }