• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashbox.php
  • Класс: BitrixSaleCashboxCashbox
  • Вызов: Cashbox::getHandlerList
static function getHandlerList()
{
	static $handlerList = array();

	if (!$handlerList)
	{
		$zone = '';
		$isCloud = MainLoader::includeModule("bitrix24");
		if ($isCloud)
		{
			$zone = CBitrix24::getLicensePrefix();
		}
		elseif (MainLoader::includeModule('intranet'))
		{
			$zone = CIntranetUtils::getPortalZone();
		}
		if ($zone === 'ru' && $isCloud)
		{
			$handlerList = [
				'BitrixSaleCashboxCashboxAtolFarm' => '/bitrix/modules/sale/lib/cashbox/cashboxatolfarm.php',
				'BitrixSaleCashboxCashboxAtolFarmV4' => '/bitrix/modules/sale/lib/cashbox/cashboxatolfarmv4.php',
				'BitrixSaleCashboxCashboxAtolFarmV5' => '/bitrix/modules/sale/lib/cashbox/cashboxatolfarmv5.php',
				'BitrixSaleCashboxCashboxOrangeData' => '/bitrix/modules/sale/lib/cashbox/cashboxorangedata.php',
				'BitrixSaleCashboxCashboxOrangeDataFfd12' => '/bitrix/modules/sale/lib/cashbox/cashboxorangedataffd12.php',
				'BitrixSaleCashboxCashboxBusinessRu' => '/bitrix/modules/sale/lib/cashbox/cashboxbusinessru.php',
				'BitrixSaleCashboxCashboxBusinessRuV5' => '/bitrix/modules/sale/lib/cashbox/cashboxbusinessruv5.php',
			];
		}
		elseif ($zone === 'ua')
		{
			$handlerList = [
				'BitrixSaleCashboxCashboxCheckbox' => '/bitrix/modules/sale/lib/cashbox/cashboxcheckbox.php',
			];
		}
		else
		{
			$handlerList = [
				'BitrixSaleCashboxCashboxAtolFarm' => '/bitrix/modules/sale/lib/cashbox/cashboxatolfarm.php',
				'BitrixSaleCashboxCashboxAtolFarmV4' => '/bitrix/modules/sale/lib/cashbox/cashboxatolfarmv4.php',
				'BitrixSaleCashboxCashboxAtolFarmV5' => '/bitrix/modules/sale/lib/cashbox/cashboxatolfarmv5.php',
				'BitrixSaleCashboxCashboxOrangeData' => '/bitrix/modules/sale/lib/cashbox/cashboxorangedata.php',
				'BitrixSaleCashboxCashboxOrangeDataFfd12' => '/bitrix/modules/sale/lib/cashbox/cashboxorangedataffd12.php',
				'BitrixSaleCashboxCashboxBitrixV2' => '/bitrix/modules/sale/lib/cashbox/cashboxbitrixv2.php',
				'BitrixSaleCashboxCashboxBitrixV3' => '/bitrix/modules/sale/lib/cashbox/cashboxbitrixv3.php',
				'BitrixSaleCashboxCashboxBitrix' => '/bitrix/modules/sale/lib/cashbox/cashboxbitrix.php',
				'BitrixSaleCashboxCashbox1C' => '/bitrix/modules/sale/lib/cashbox/cashbox1c.php',
				'BitrixSaleCashboxCashboxCheckbox' => '/bitrix/modules/sale/lib/cashbox/cashboxcheckbox.php',
				'BitrixSaleCashboxCashboxBusinessRu' => '/bitrix/modules/sale/lib/cashbox/cashboxbusinessru.php',
				'BitrixSaleCashboxCashboxBusinessRuV5' => '/bitrix/modules/sale/lib/cashbox/cashboxbusinessruv5.php',
			];
		}

		$handlerList['BitrixSaleCashboxCashboxRest'] = '/bitrix/modules/sale/lib/cashbox/cashboxrest.php';

		$handlerList['BitrixSaleCashboxCashboxRobokassa'] = '/bitrix/modules/sale/lib/cashbox/cashboxrobokassa.php';
		$handlerList['BitrixSaleCashboxCashboxYooKassa'] = '/bitrix/modules/sale/lib/cashbox/cashboxyookassa.php';

		$event = new MainEvent('sale', static::EVENT_ON_GET_CUSTOM_CASHBOX_HANDLERS);
		$event->send();
		$resultList = $event->getResults();

		if (is_array($resultList) && !empty($resultList))
		{
			foreach ($resultList as $eventResult)
			{
				/** @var  MainEventResult $eventResult */
				if ($eventResult->getType() === MainEventResult::SUCCESS)
				{
					$params = $eventResult->getParameters();
					if (!empty($params) && is_array($params))
						$handlerList = array_merge($handlerList, $params);
				}
			}
		}
	}

	return $handlerList;
}