• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/controller/order.php
  • Класс: BitrixSalesCenterControllerOrder
  • Вызов: Order::sendPaymentBySms
private function sendPaymentBySms(SalePayment $payment): MainResult
{
	$result = new MainResult();

	if(LandingManager::getInstance()->isOrderPublicUrlAvailable())
	{
		$order = $payment->getOrder();
		$urlParams = [
			'orderId' => $order->getId(),
			'paymentId' => $payment->getId(),
			'access' => $order->getHash()
		];

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

		if($urlInfo)
		{
			$smsTemplate = CrmManager::getInstance()->getSmsTemplate();
			$smsTitle = str_replace('#LINK#', $urlInfo['shortUrl'], $smsTemplate);
			$result->setData([
				'TEXT' => $smsTitle,
				'PAYMENT' => $order->getField('ACCOUNT_NUMBER')
			]);
		}
		else
		{
			$result->addError(new Error('Error retrieving url info'));
		}
	}
	else
	{
		$result->addError(new Error('Public url is not available'));
	}

	return $result;
}