Настройка Liqpay для Webasyst CMS


<!--?php
include 'LiqPay.php';


function smarty_function_liqpay( $params, &$smarty )
{

	$public_key = '';								//Публичный ключ
	$private_key= '';	//Приватный ключ
	$comission=1.0282776349614;													//Добавим комиссию в счет покупателя
	if($params['type']=='order'){
		$order_id=$params['orderID'];		
		$sql="SELECT  `shipping_type`, `statusID`, `customer_lastname`, `customer_email`,	`shipping_module_id`,	`payment_module_id` ,`payment_type`,  `order_amount` ,  `currency_code` ,  `currency_value` 
				FROM  `SC_orders` 
				WHERE  `orderID` =".$order_id."
				LIMIT 1";
		if($res=mysql_query($sql))
		$row=mysql_fetch_assoc($res);
		if ($row['payment_module_id']==36)//Если в заказе выбрана оплата Liqpay
		{
			if($row['statusID']==25){
			$order_summary=round((round($row['currency_value']*$row['order_amount'],0))*$comission,2);
			$server_url='https://.com.ua/liqpay/';		//адрес страницы на которой будет происходить обработка ответа из банка
			$result_url='https://.com.ua/result/';	
			
			$liqpay = new LiqPay($public_key, $private_key);
			$html = $liqpay--->cnb_form(array(
			'version'	     => '3',
			'public_key'	 => $public_key,
			'private_key'	 => $private_key,
			'action'         => 'pay',
			'amount'         => $order_summary, // сумма заказа
			'currency'       => 'UAH',
			'description'    => 'Оплата заказа № '.$order_id, 
			'order_id'       => $order_id,	
			'result_url'	 =>	$result_url,
			'server_url'	 =>	$server_url,
			'language'		 =>	'ru'
			));	
			echo $html; // вернем нашу сгенерированную форму для отправки
			
			$_SESSION["order_id"]=$order_id;
			$_SESSION["customer_email"]=$row['customer_email'];
			$_SESSION["customer_lastname"]=$row['customer_lastname'];
			
			//echo "Сумма заказа ".round($row['currency_value']*$row['order_amount'],0);
			//echo " Сумма оплаты ".$order_summary;
			//echo " Заказ ".$order_id;
		}
		else
		{
			echo "Кнопка для оплаты будет доступна после подтверждения заказа";	
		}
		}		
	}
	else if($params['type']=='answer'){
		
		$sign=$_POST['signature'];	
		$data=$_POST['data'];
		$signature=base64_encode(sha1($private_key + $data + $private_key));
		$result= json_decode( base64_decode($data));	
		$date=date("Y-m-d H-i-s");			
	
			if( $result->status == 'success' ){
				$comment = "Заказ успешно оплачен";
				$sql='UPDATE SC_orders SET statusID="14" WHERE orderID="'.$result->order_id.'"';
				mysql_query($sql);
			}elseif( $result->status == 'error' ){
				$comment = "Неуспешный платеж. Некорректно заполнены данные";
			}elseif( $result->status == 'failure' ){
				$comment = "Неуспешный платеж";			
			}elseif( $result->status == 'reversed' ){
				$comment = "Платеж возвращен";		
			}elseif( $result->status == 'subscribed' ){
				$comment = "Подписка успешно оформлена";		
			}elseif( $result->status == 'unsubscribed' ){
				$comment = "Подписка успешно деактивирована";		
			}
		
			$sql="INSERT INTO `SC_order_status_changelog` 
			(`orderID`, `status_name`, `status_change_time`, `status_comment`) VALUES 
			(".$result->order_id.", 'Оплачен', '".$date."', '".$comment."')";
			mysql_query($sql);		
			
	}else if($params['type']=='result'){	
		echo  "Ваш платеж проверяется";
		$form='
<form name="mainForm" method="post" action="/order_status/?orderID='.$orderID.'&code='.base64_encode($_SESSION[" customer_email"]).'"="">

<div class="form_wrapper">
				<input type="hidden" name="orderID" value="'.	$_SESSION[" order_id"].'"="">
				<input type="hidden" name="customer_email" value="'.$_SESSION[" customer_email"].'"="">							
				<input type="hidden" name="customer_last_name" value="'.$_SESSION[" customer_lastname"].'"="">
				
<input type="submit" name="find" value="Показать информацию о заказе">
</div>

		</form>';
		
		echo $form;
	}	
}	
	


Настройка электронной торговли в Analytics на примере CMS Simpla

WordPress Rainbow Hilite

 {literal}
<script type='text/javascript'>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-31871436-2']);
_gaq.push(['_trackPageview']);
{/literal}
{$t1 = $order->date|truncate:18:"":true}
{$t2 = date("Y-m-d H:i:s")|truncate:18:"":true}
{if $order->status==0 && $t1 == $t2}
{literal}
<!-- Google Analitycs-->
_gaq.push(['_addTrans','{/literal}{$order->id}{literal}','panda-shop.od.ua','{/literal}{$order->total_price}{literal}','0.00','{/literal}{$order->delivery_price|convert}{literal}','{/literal}{$order->address|escape}{literal}','','']);
{/literal}{foreach $purchases as $purchase}{literal}
_gaq.push(['_addItem','{/literal}{$order->id}{literal}','{/literal}{$purchase->variant->sku|escape}{literal}','{/literal}{$purchase->product_name|escape} ({$purchase->product->brand|escape}){literal}','{/literal}{$purchase->product->cat|escape}{literal}','{/literal}{$purchase->price}{literal}','{/literal}{$purchase->amount}{literal}']);
{/literal}{/foreach}{literal}
_gaq.push(['_trackTrans']); 
{/literal}
{/if}
{literal}
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();   
</script>
{/literal}