• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/integration/imopenlinesmanager.php
  • Класс: BitrixSalesCenterIntegrationImOpenLinesManager
  • Вызов: ImOpenLinesManager::getPublicUrlInfoForPayment
public function getPublicUrlInfoForPayment(Payment $payment)
{
	static $info = [];
	$order = $payment->getOrder();
	if(!isset($info[$order->getId()]))
	{
		$urlInfo = false;
		if(LandingManager::getInstance()->isOrderPublicUrlAvailable())
		{
			$urlParams = [
				'orderId' => $order->getId(),
				'paymentId' => $payment->getId(),
				'access' => $order->getHash(),
			];

			if ($this->isEnabled() && $this->sessionId > 0)
			{
				$urlParams['sessionIm'] = $this->sessionId;
			}

			$urlInfo = LandingManager::getInstance()->getOrderPublicUrlInfo($urlParams);

			if($urlInfo)
			{
				$paymentPreviewData = $this->getPaymentPreviewData($payment);
				if(!empty($paymentPreviewData))
				{
					$urlInfo['url'] = $this->addMetaData($urlInfo['url'], $order->getUserId(), $paymentPreviewData);
				}
				$urlInfo['url'] = $this->preparePublicUrl($urlInfo['url']);
			}
		}
		$info[$order->getId()] = $urlInfo;
	}

	return $info[$order->getId()];
}