_objectManager = $objectManager; } /** * Wrap sales model with Magento\Payment\Model\Cart\SalesModel\SalesModelInterface * * @param \Magento\Quote\Api\Data\CartInterface $salesModel * @return \Magento\Payment\Model\Cart\SalesModel\SalesModelInterface * @throws \InvalidArgumentException */ public function create($salesModel) { $arguments = ['salesModel' => $salesModel]; if ($salesModel instanceof \Magento\Quote\Model\Quote) { return $this->_objectManager->create(\Magento\Payment\Model\Cart\SalesModel\Quote::class, $arguments); } elseif ($salesModel instanceof \Magento\Sales\Model\Order) { return $this->_objectManager->create(\Magento\Payment\Model\Cart\SalesModel\Order::class, $arguments); } throw new \InvalidArgumentException('Sales model has bad type!'); } }