• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/controller/order.php
  • Класс: BitrixSalesCenterControllerOrder
  • Вызов: Order::obtainPaymentFields
protected function obtainPaymentFields(array $data)
{
	$result = [
		'PRODUCT' => []
	];

	$sum = 0;

	if (
		isset($data['PRODUCT'])
		&& is_array($data['PRODUCT'])
	)
	{
		foreach ($data['PRODUCT'] as $index => $item)
		{
			$price = VatRate::getPriceWithTax($item);
			$sum += SalePriceMaths::roundPrecision($item['QUANTITY'] * $price);

			$result['PRODUCT'][] = [
				'BASKET_CODE' => $index,
				'QUANTITY' => $item['QUANTITY']
			];
		}
	}

	if (
		isset($data['SHIPMENT'])
		&& is_array($data['SHIPMENT'])
	)
	{
		foreach ($data['SHIPMENT'] as $index => $item)
		{
			$sum += $item['PRICE_DELIVERY'];

			$result['PRODUCT'][] = [
				'DELIVERY_ID' => $item['DELIVERY_ID'],
				'QUANTITY' => 1
			];
		}
	}

	$result['SUM'] = $sum;

	return $result;
}