diff --git a/Model/Api/OrderCreditMemo.php b/Model/Api/OrderCreditMemo.php index 20f3633..b5aaf56 100644 --- a/Model/Api/OrderCreditMemo.php +++ b/Model/Api/OrderCreditMemo.php @@ -8,6 +8,7 @@ use Returnless\Connector\Helper\Data as RetHelper; use Magento\Sales\Model\Order\CreditmemoFactory; use Magento\Sales\Model\Service\CreditmemoService; +use Magento\Sales\Api\CreditmemoManagementInterface; use Magento\Sales\Model\Order\Invoice; use Magento\Sales\Model\Order\Email\Sender\CreditmemoSender; use Magento\Sales\Controller\Adminhtml\Order\CreditmemoLoader; @@ -73,7 +74,7 @@ class OrderCreditMemo implements OrderCreditMemoInterface * @param CreditmemoSender $creditmemoSender * @param CreditmemoLoader $creditmemoLoader * @param CreditmemoFactory $creditMemoFactory - * @param CreditmemoService $creditMemoService + * @param CreditmemoManagementInterface $creditMemoService * @param Invoice $invoice * @param RetHelper $retHelper * @param WebsiteCollectionFactory $websiteCollection @@ -84,7 +85,7 @@ public function __construct( CreditmemoSender $creditMemoSender, CreditmemoLoader $creditMemoLoader, CreditmemoFactory $creditMemoFactory, - CreditmemoService $creditMemoService, + CreditmemoManagementInterface $creditMemoService, Invoice $invoice, RetHelper $retHelper, WebsiteCollectionFactory $websiteCollection, @@ -196,6 +197,18 @@ public function createCreditMemo($requestParams) $this->creditMemoLoader->setOrderId($orderId); //pass order id $this->creditMemoLoader->setCreditmemo($creditMemoData); + $invoiceCollection = $order->getInvoiceCollection(); + foreach ($invoiceCollection as $invoice) { + $state = $invoice->getState(); + + if ($state != 2) { + continue; + } + + $invoiceId = $invoice->getId(); + $this->creditMemoLoader->setInvoiceId($invoiceId); + } + $creditMemo = $this->creditMemoLoader->load(); if ($creditMemo) { if (!$creditMemo->isValidGrandTotal()) { diff --git a/composer.json b/composer.json index 6927c09..9c68a88 100644 --- a/composer.json +++ b/composer.json @@ -17,5 +17,5 @@ "OSL-3.0", "AFL-3.0" ], - "version": "1.2.4" + "version": "1.2.5" } diff --git a/etc/module.xml b/etc/module.xml index ad793e8..c555ff0 100644 --- a/etc/module.xml +++ b/etc/module.xml @@ -1,6 +1,6 @@ - +