- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/manager.php
- Класс: Bitrix\Sale\PaySystem\Manager
- Вызов: Manager::getListWithRestrictions
static function getListWithRestrictions(Payment $payment, $mode = Restrictions\Manager::MODE_CLIENT) { $result = array(); $filter = [ '=ACTIVE' => 'Y', '=ENTITY_REGISTRY_TYPE' => $payment::getRegistryType(), ]; $bindingPaySystemIds = []; if ($mode == Restrictions\Manager::MODE_CLIENT) { $bindingPaySystemIds = PaymentAvailablesPaySystems::getAvailablePaySystemIdsByPaymentId($payment->getId()); if ($bindingPaySystemIds) { $filter['=ID'] = $bindingPaySystemIds; } } $dbRes = self::getList([ 'filter' => $filter, 'order' => [ 'SORT' => 'ASC', 'NAME' => 'ASC', ], ]); while ($paySystem = $dbRes->fetch()) { if ($bindingPaySystemIds) { $result[$paySystem['ID']] = $paySystem; } elseif ($mode == Restrictions\Manager::MODE_MANAGER) { $checkServiceResult = Restrictions\Manager::checkService($paySystem['ID'], $payment, $mode); if ($checkServiceResult != Restrictions\Manager::SEVERITY_STRICT) { if ($checkServiceResult == Restrictions\Manager::SEVERITY_SOFT) { $paySystem['RESTRICTED'] = $checkServiceResult; } $result[$paySystem['ID']] = $paySystem; } } elseif ($mode == Restrictions\Manager::MODE_CLIENT) { if (Restrictions\Manager::checkService($paySystem['ID'], $payment, $mode) === Restrictions\Manager::SEVERITY_NONE) { $result[$paySystem['ID']] = $paySystem; } } } return $result; }