• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/Terminal/PaymentSystemRepository.php
  • Класс: BitrixCrmMobileTerminalPaymentSystemRepository
  • Вызов: PaymentSystemRepository::getRestPaySystemList
static function getRestPaySystemList(Payment $payment): array
{
	$restCheckoutHandlerCodes = [];

	$paySystemRestHandlersIterator = PaySystemRestHandlersTable::getList([
		'select' => ['CODE', 'SETTINGS'],
	]);
	while ($paySystemRestHandlersData = $paySystemRestHandlersIterator->fetch())
	{
		$settings = $paySystemRestHandlersData['SETTINGS'] ?? [];
		if (isset($settings['CHECKOUT_DATA']))
		{
			$restCheckoutHandlerCodes[] = $paySystemRestHandlersData['CODE'];
		}
	}

	if (!$restCheckoutHandlerCodes)
	{
		return [];
	}

	$result = [];

	$filter = [
		'@ACTION_FILE' => $restCheckoutHandlerCodes,
	];

	$paySystemList = self::getPaySystemList($filter);
	foreach ($paySystemList as $paySystemData)
	{
		$service = new PaySystemService($paySystemData);
		$paySystem = new PaySystemRestHandler('', $service);
		if ($paySystem->canCheckout($payment))
		{
			$result[] = $paySystemData;
		}
	}

	return $result;
}