• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/services/paysystem/restrictions/concreteproduct.php
  • Класс: BitrixSaleServicesPaySystemRestrictionsConcreteProduct
  • Вызов: ConcreteProduct::getBasketItems
static function getBasketItems(Entity $entity): array
{
	if (!$entity instanceof Payment)
	{
		return [];
	}

	$basketItems = [];

	$payableItemCollection = $entity->getPayableItemCollection();
	if ($payableItemCollection->isEmpty())
	{
		/** @var $collection BitrixSalePaymentCollection */
		if (!$collection = $entity->getCollection())
		{
			return [];
		}

		/** @var $order BitrixSaleOrder */
		if (!$order =  $collection->getOrder())
		{
			return [];
		}

		/** @var $orderBasket BitrixSaleBasket */
		if ($basket = $order->getBasket())
		{
			return $basket->getBasketItems();
		}
	}
	else
	{
		$basketItemCollection = $payableItemCollection->getBasketItems();

		/** @var PayableBasketItem $payableBasketItem */
		foreach ($basketItemCollection as $payableBasketItem)
		{
			$basketItems[] = $payableBasketItem->getEntityObject();
		}
	}

	return $basketItems;
}