- Модуль: 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);
}
}