• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/compatibilityhandler.php
  • Класс: BitrixSalePaySystemCompatibilityHandler
  • Вызов: CompatibilityHandler::getParamsBusValue
public function getParamsBusValue(Payment $payment = null)
{
	$orderId = 0;
	$orderFields = array();
	$paymentFields = array();
	$relatedData = array();

	if ($payment !== null)
	{
		/** @var BitrixSalePaymentCollection $paymentCollection */
		$paymentCollection = $payment->getCollection();

		$order = $paymentCollection->getOrder();

		if ($order->getId() > 0)
		{
			$orderId = $order->getId();
			$orderFields = $order->getFieldValues();
			$paymentFields = $payment->getFieldValues();
		}
	}

	if ($orderId <= 0)
	{
		$data = Manager::getHandlerDescription($this->service->getField('ACTION_FILE'));
		$templateParams = $this->getExtraParams();

		$relatedData['TEMPLATE_PARAMS'] = array();
		foreach ($data['CODES'] as $codeId => $code)
		{
			if (array_key_exists($codeId, $templateParams))
			{
				$code['VALUE'] = $templateParams[$codeId];
				$relatedData['TEMPLATE_PARAMS'][$codeId] = $code;
			}
		}

		if (isset($templateParams['ORDER']))
			$orderFields = $templateParams['ORDER'];

		if (isset($templateParams['BASKET_ITEMS']))
		{
			$relatedData['BASKET_ITEMS'] = $templateParams['BASKET_ITEMS'];
			unset($templateParams['BASKET_ITEMS']);
		}

		if (isset($templateParams['TAX_LIST']))
		{
			$relatedData['TAX_LIST'] = $templateParams['TAX_LIST'];
			unset($templateParams['TAX_LIST']);
		}

		$paymentFields['PAY_SYSTEM_ID'] = $this->service->getField('ID');
	}

	CSalePaySystemAction::InitParamArrays($orderFields, $orderId, '', $relatedData, $paymentFields);

	return $GLOBALS['SALE_INPUT_PARAMS'];
}