// оплата услуг и товаров магазина с личного счета
class Payment
{
var $shop; // object
var $params; // array
function Payment(&$shop) // constructor
{
$this->shop = &$shop;
// load order
if (!$shop->OrderID && $_GET["Order_IDP"])
{ $this->shop->LoadOrder($_GET["Order_IDP"]); }
}
// создание формы на формирование счета
function create_bill()
{
global $current_user,$db;
$shop = &$this->shop;
$inv_id = $shop->OrderID; // номер заказа
$out_summ = $shop->CartSum(); // сумма заказа
if ($out_summ<=$current_user['Account']) // проверка наличия средств
{
// списываем деньги со счета
$nc_auth = nc_Auth::get_object();
$nc_auth->pa_deduct ( $out_summ, $current_user['User_ID'], iconv("windows-1251","utf-8","Оплата заказа $inv_id"));
// записать факт в комменты, изменить статус
$payinfo = iconv("windows-1251","utf-8", sprintf("Оплата бонусами: Дата: %s, сумма: %s\n",
date("d.m.y H:i:s"),
iconv("utf-8","windows-1251",$this->shop->FormatCurrency($out_summ,"",1))
));
$newordstatus=3; // Заказ оплачен, меняем статус и коммент к заказу
if (intval($inv_id)>0) q("UPDATE Message{$this->shop->order_table}
SET PaymentInfo=concat(COALESCE(PaymentInfo,''), '".mysql_escape_string($payinfo)."'), status=$newordstatus
WHERE Message_ID = ".intval($inv_id));
if ($newordstatus==3) // если оплачен...
{
// здесь выполняем необходимые действия с заказом - отправляем
// ему оплаченную информацию, продляем тарифный план или просто
// отправляем письмо плательшику и администратору.
// Данный обработчик заказов (продление тарифа, отгрузка продукции, оплата размещения баннера и тд)
// Вы можете заказать у нас:
// Студия Вэлпис,г.Новосибирск info@welpis.ru, http://welpis.ru
}
echo iconv("windows-1251","utf-8","Оплата успешно произведена.
Вернуться в личный кабинет
");
}
else
{
echo iconv("windows-1251","utf-8","Недостаточно средств на счете.
");
}
}
// заглушка "Платеж прошел"
function success()
{
}
// заглушка "платеж не прошел"
function failed()
{
}
}
?>