• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/restservice.php
  • Класс: BitrixSalePaySystemRestService
  • Вызов: RestService::checkParamsBeforePaySystemUpdate
static function checkParamsBeforePaySystemUpdate($params)
{
	$handlerList = Manager::getHandlerList();

	$handler = $params['FIELDS']['BX_REST_HANDLER'];
	if (!isset($handlerList['USER'][$handler]) && !isset($handlerList['SYSTEM'][$handler]))
	{
		throw new RestException('Handler not found', self::ERROR_HANDLER_NOT_FOUND);
	}

	$dbRes = Manager::getList([
		'filter' => [
			'ID' => $params['ID']
		]
	]);

	$data = $dbRes->fetch();
	if (!$data)
	{
		throw new RestException('Pay system not found', self::ERROR_PAY_SYSTEM_NOT_FOUND);
	}

	if (!self::hasAccessToPaySystem($data, $params['APP_ID']))
	{
		throw new AccessException();
	}

	$dbRes = InternalsPersonTypeTable::getList([
		'filter' => [
			'=ID' => $params['FIELDS']['PERSON_TYPE_ID'],
			'=ENTITY_REGISTRY_TYPE' => $data['ENTITY_REGISTRY_TYPE'],
		]
	]);
	if (!$dbRes->fetch())
	{
		throw new RestException('Incorrect person type id!', self::ERROR_PERSON_TYPE_NOT_FOUND);
	}
}