• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/restservice.php
  • Класс: BitrixSalePaySystemRestService
  • Вызов: RestService::getSettingsByPayment
static function getSettingsByPayment(array $params, $n, CRestServer $server)
{
	static::checkOrderPermission();

	$params = self::preparePaySystemParams($params, $server);

	self::checkParamsBeforeSettingsByPaymentGet($params);

	list($orderId, $paymentId) = Manager::getIdsByPayment($params['PAYMENT_ID']);

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

	/** @var Order $orderClassName */
	$orderClassName = $registry->getOrderClassName();
	$order = $orderClassName::load($orderId);
	if ($order)
	{
		$paymentCollection = $order->getPaymentCollection();

		/** @var Payment $payment */
		$payment = $paymentCollection->getItemById($paymentId);

		$service = Manager::getObjectById($params['PAY_SYSTEM_ID']);

		return $service->getParamsBusValue($payment);
	}

	throw new RestException('Order #'.$orderId.' not found', self::ERROR_INTERNAL_ORDER_NOT_FOUND);
}