• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/analytics/catalog.php
  • Класс: BitrixMainAnalyticsCatalog
  • Вызов: Catalog::catchCatalogOrderPayment
static function catchCatalogOrderPayment(Event $event)
{
	if (!static::isOn())
	{
		return;
	}

	/** @var Order $orderItem */
	$orderItem = $event->getParameter("ENTITY");

	$data = static::getOrderInfo($orderItem->getId());

	if (empty($data['products']))
	{
		return;
	}

	// add bxuid
	$data['bx_user_id'] = static::getBxUserId();

	if (empty($data['bx_user_id']) && OrderTable::getEntity()->hasField('BX_USER_ID'))
	{
		$order = OrderTable::getRow(array(
			'select' => array('BX_USER_ID'),
			'filter' => array('=ID' => $orderItem->getId())
		));

		if (!empty($order) && !empty($order['BX_USER_ID']))
		{
			$data['bx_user_id'] = $order['BX_USER_ID'];
		}
	}

	// add general info
	$data['paid'] = '1';
	$data['domain'] = Context::getCurrent()->getServer()->getHttpHost();
	$data['date'] = date(DATE_ISO8601);

	CounterDataTable::add(array(
		'TYPE' => 'order_pay',
		'DATA' => $data
	));
}