• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/restservice.php
  • Класс: BitrixSalePaySystemRestService
  • Вызов: RestService::checkParamsOnAddHandler
static function checkParamsOnAddHandler(array $params)
{
	if (!isset($params['NAME']))
	{
		throw new RestException('Parameter NAME is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (!isset($params['CODE']))
	{
		throw new RestException('Parameter CODE is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (!isset($params['SETTINGS']))
	{
		throw new RestException('Parameter SETTINGS is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (!isset($params['SETTINGS']['CODES']))
	{
		throw new RestException('Parameter SETTINGS[CODES] is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (
		empty($params['SETTINGS']['FORM_DATA'])
		&& empty($params['SETTINGS']['CHECKOUT_DATA'])
		&& empty($params['SETTINGS']['IFRAME_DATA'])
	)
	{
		throw new RestException(
			'Parameter SETTINGS[FORM_DATA] or SETTINGS[CHECKOUT_DATA] or SETTINGS[IFRAME_DATA] is not defined',
			self::ERROR_CHECK_FAILURE
		);
	}

	if (
		!empty($params['SETTINGS']['FORM_DATA'])
		&& empty($params['SETTINGS']['FORM_DATA']['ACTION_URI'])
	)
	{
		throw new RestException('Parameter SETTINGS[FORM_DATA][ACTION_URI] is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (
		!empty($params['SETTINGS']['CHECKOUT_DATA'])
		&& empty($params['SETTINGS']['CHECKOUT_DATA']['ACTION_URI'])
	)
	{
		throw new RestException('Parameter SETTINGS[IFRAME_DATA][ACTION_URI] is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (
		!empty($params['SETTINGS']['IFRAME_DATA'])
		&& empty($params['SETTINGS']['IFRAME_DATA']['ACTION_URI'])
	)
	{
		throw new RestException('Parameter SETTINGS[IFRAME_DATA][ACTION_URI] is not defined', self::ERROR_CHECK_FAILURE);
	}

	if (
		isset($params['SETTINGS']['CLIENT_TYPE'])
		&& !ClientType::isValid((string)$params['SETTINGS']['CLIENT_TYPE'])
	)
	{
		throw new RestException('Parameter value SETTINGS[CLIENT_TYPE] is invalid', self::ERROR_CHECK_FAILURE);
	}

	$dbRes = InternalsPaySystemRestHandlersTable::getList([
		'filter' => [
			'=CODE' => $params['CODE']
		]
	]);
	if ($dbRes->fetch())
	{
		throw new RestException('Handler already exists!', self::ERROR_HANDLER_ALREADY_EXIST);
	}
}