![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/app/code/StripeIntegration/Tax/Test/Integration/Helper/ |
<?php namespace StripeIntegration\Tax\Test\Integration\Helper; use Magento\Sales\Model\OrderFactory; class Tests { private $objectManager; private $invoiceService; private $orderHelper; private $invoiceHelper; public function __construct() { $this->objectManager = \Magento\TestFramework\ObjectManager::getInstance(); $this->invoiceService = $this->objectManager->get(\Magento\Sales\Model\Service\InvoiceService::class); $this->orderHelper = new \StripeIntegration\Tax\Test\Integration\Helper\Order(); $this->invoiceHelper = new \StripeIntegration\Tax\Test\Integration\Helper\Invoice(); } public function invoiceOnline($order, $itemQtys, $captureCase = \Magento\Sales\Model\Order\Invoice::CAPTURE_ONLINE) { $orderItemIDs = []; $orderItemQtys = []; foreach ($order->getAllVisibleItems() as $orderItem) { $orderItemIDs[$orderItem->getSku()] = $orderItem->getId(); } foreach ($itemQtys as $sku => $qty) { if (isset($orderItemIDs[$sku])) { $id = $orderItemIDs[$sku]; $orderItemQtys[$id] = $qty; } } $invoice = $this->invoiceService->prepareInvoice($order, $orderItemQtys); $invoice->setRequestedCaptureCase($captureCase); $order->setIsInProcess(true); $invoice->register(); $invoice->pay(); $this->orderHelper->saveOrder($order); return $this->invoiceHelper->saveInvoice($invoice); } }