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

	if (empty($params['PAYMENT_ID']))
	{
		throw new RestException('Empty field PAYMENT_ID', self::ERROR_CHECK_FAILURE);
	}

	$item = Manager::getById($params['PAY_SYSTEM_ID']);
	if (!$item)
	{
		throw new RestException('Pay system not found', static::ERROR_CHECK_FAILURE);
	}

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

	$registry = Registry::getInstance(Registry::REGISTRY_TYPE_ORDER);

	/** @var Payment $paymentClassName */
	$paymentClassName = $registry->getPaymentClassName();
	$dbRes = $paymentClassName::getList([
		'select' => ['ID', 'PAY_SYSTEM_ID'],
		'filter' => [
			'=ID' => $params['PAYMENT_ID'],
			'=PAY_SYSTEM_ID' => $params['PAY_SYSTEM_ID']
		]
	]);

	if (!$dbRes->fetch())
	{
		throw new RestException(
			'Payment with ID='
			. $params['PAYMENT_ID']
			. ' and PAY_SYSTEM_ID='.$params['PAY_SYSTEM_ID']
			. ' not found', self::ERROR_CHECK_FAILURE
		);
	}
}