objectManager = $objectManager; } /** * Create Price object for particular product * * @param SaleableInterface $saleableItem * @param string $className * @param float $quantity * @param array $arguments * @throws \InvalidArgumentException * @return \Magento\Framework\Pricing\Price\PriceInterface */ public function create(SaleableInterface $saleableItem, $className, $quantity, array $arguments = []) { $arguments['saleableItem'] = $saleableItem; $arguments['quantity'] = $quantity; $price = $this->objectManager->create($className, $arguments); if (!$price instanceof PriceInterface) { throw new \InvalidArgumentException( $className . ' doesn\'t implement \Magento\Framework\Pricing\Price\PriceInterface' ); } return $price; } }